--- /dev/null
+<?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>
+
+ <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>
+
+ <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>
+ </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>
+
+ <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>
+ </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-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>
+
+ <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>
+
+ <many-to-many field="groups" target-entity="CmsGroup">
+ <cascade>
+ <cascade-persist/>
+ <cascade-detach/>
+ <cascade-merge/>
+ </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>
+
+ </entity>
+
+</doctrine-mapping>