2012-03-08 05:03:24 +04:00
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns= "http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name= "Doctrine\Tests\Models\CMS\CmsUser" table= "cms_users" >
<named-queries >
<named-query name= "all" query= "SELECT u FROM __CLASS__ u" />
</named-queries>
<named-native-queries >
<named-native-query name= "fetchIdAndUsernameWithResultClass" result-class= "CmsUser" >
<query > SELECT id, username FROM cms_users WHERE username = ?</query>
</named-native-query>
2013-05-13 18:04:36 +04:00
2012-03-08 05:03:24 +04:00
<named-native-query name= "fetchAllColumns" result-class= "CmsUser" >
<query > SELECT * FROM cms_users WHERE username = ?</query>
</named-native-query>
<named-native-query name= "fetchJoinedAddress" result-set-mapping= "mappingJoinedAddress" >
<query > SELECT u.id, u.name, u.status, a.id AS a_id, a.country, a.zip, a.city FROM cms_users u INNER JOIN cms_addresses a ON u.id = a.user_id WHERE u.username = ?</query>
</named-native-query>
<named-native-query name= "fetchJoinedPhonenumber" result-set-mapping= "mappingJoinedPhonenumber" >
<query > SELECT id, name, status, phonenumber AS number FROM cms_users INNER JOIN cms_phonenumbers ON id = user_id WHERE username = ?</query>
</named-native-query>
<named-native-query name= "fetchUserPhonenumberCount" result-set-mapping= "mappingUserPhonenumberCount" >
<query > SELECT id, name, status, COUNT(phonenumber) AS numphones FROM cms_users INNER JOIN cms_phonenumbers ON id = user_id WHERE username IN (?) GROUP BY id, name, status, username ORDER BY username</query>
</named-native-query>
2012-03-11 19:10:15 +04:00
<named-native-query name= "fetchMultipleJoinsEntityResults" result-set-mapping= "mappingMultipleJoinsEntityResults" >
<query > SELECT u.id AS u_id, u.name AS u_name, u.status AS u_status, a.id AS a_id, a.zip AS a_zip, a.country AS a_country, COUNT(p.phonenumber) AS numphones FROM cms_users u INNER JOIN cms_addresses a ON u.id = a.user_id INNER JOIN cms_phonenumbers p ON u.id = p.user_id GROUP BY u.id, u.name, u.status, u.username, a.id, a.zip, a.country ORDER BY u.username</query>
</named-native-query>
2012-03-08 05:03:24 +04:00
</named-native-queries>
<sql-result-set-mappings >
<sql-result-set-mapping name= "mappingJoinedAddress" >
<entity-result entity-class= "__CLASS__" >
<field-result name= "id" />
<field-result name= "name" />
<field-result name= "status" />
<field-result name= "address.zip" />
<field-result name= "address.city" />
<field-result name= "address.country" />
<field-result name= "address.id" column= "a_id" />
</entity-result>
</sql-result-set-mapping>
<sql-result-set-mapping name= "mappingJoinedPhonenumber" >
<entity-result entity-class= "CmsUser" >
<field-result name= "id" />
<field-result name= "name" />
<field-result name= "status" />
<field-result name= "phonenumbers.phonenumber" column= "number" />
</entity-result>
</sql-result-set-mapping>
<sql-result-set-mapping name= "mappingUserPhonenumberCount" >
<entity-result entity-class= "CmsUser" >
<field-result name= "id" />
<field-result name= "name" />
<field-result name= "status" />
</entity-result>
<column-result name= "numphones" />
</sql-result-set-mapping>
2012-03-11 19:10:15 +04:00
<sql-result-set-mapping name= "mappingMultipleJoinsEntityResults" >
<entity-result entity-class= "__CLASS__" >
<field-result name= "id" column= "u_id" />
<field-result name= "name" column= "u_name" />
<field-result name= "status" column= "u_status" />
</entity-result>
<entity-result entity-class= "CmsAddress" >
<field-result name= "id" column= "a_id" />
<field-result name= "zip" column= "a_zip" />
<field-result name= "country" column= "a_country" />
</entity-result>
<column-result name= "numphones" />
</sql-result-set-mapping>
2012-03-08 05:03:24 +04:00
</sql-result-set-mappings>
<id name= "id" type= "integer" column= "id" >
<generator strategy= "AUTO" />
</id>
<field name= "status" column= "status" type= "string" length= "50" unique= "true" />
<field name= "username" column= "username" type= "string" length= "255" unique= "true" />
<field name= "name" column= "name" type= "string" length= "255" />
<one-to-one field= "address" target-entity= "CmsAddress" inversed-by= "user" orphan-removal= "true" >
<cascade >
<cascade-persist />
</cascade>
<join-column name= "address_id" referenced-column-name= "id" />
</one-to-one>
<one-to-one field= "email" target-entity= "CmsEmail" inversed-by= "user" orphan-removal= "true" >
<cascade >
<cascade-persist />
</cascade>
<join-column referenced-column-name= "id" nullable= "true" />
</one-to-one>
2013-05-13 18:04:36 +04:00
<one-to-many field= "phonenumbers" target-entity= "CmsPhonenumber" mapped-by= "user" orphan-removal= "true" >
<cascade >
<cascade-persist />
<cascade-merge />
</cascade>
</one-to-many>
<one-to-many field= "articles" target-entity= "CmsArticle" mapped-by= "user" >
<cascade >
<cascade-detach />
</cascade>
</one-to-many>
2012-03-08 05:03:24 +04:00
<many-to-many field= "groups" target-entity= "CmsGroup" >
<cascade >
<cascade-persist />
<cascade-merge />
2013-05-13 18:04:36 +04:00
<cascade-detach />
2012-03-08 05:03:24 +04:00
</cascade>
<join-table name= "cms_users_groups" >
<join-columns >
<join-column name= "user_id" referenced-column-name= "id" />
</join-columns>
<inverse-join-columns >
<join-column name= "group_id" referenced-column-name= "id" />
</inverse-join-columns>
</join-table>
</many-to-many>
2013-05-13 18:04:36 +04:00
2012-03-08 05:03:24 +04:00
</entity>
</doctrine-mapping>