Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / xml / Doctrine.Tests.Models.Company.CompanyPerson.dcm.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
4       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5       xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
6                           http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
7                               
8     <entity name="Doctrine\Tests\Models\Company\CompanyPerson" table="company_persons" inheritance-type="JOINED">
9
10         <named-native-queries>
11             <named-native-query name="fetchAllWithResultClass" result-class="__CLASS__">
12                 <query>SELECT id, name, discr FROM company_persons ORDER BY name</query>
13             </named-native-query>
14             
15             <named-native-query name="fetchAllWithSqlResultSetMapping" result-set-mapping="mappingFetchAll">
16                 <query>SELECT id, name, discr AS discriminator FROM company_persons ORDER BY name</query>
17             </named-native-query>
18         </named-native-queries>
19
20         <sql-result-set-mappings>
21             <sql-result-set-mapping name="mappingFetchAll">
22                 <entity-result entity-class="__CLASS__" discriminator-column="discriminator">
23                     <field-result name="id"/>
24                     <field-result name="name"/>
25                 </entity-result>
26             </sql-result-set-mapping>
27         </sql-result-set-mappings>
28         
29         <discriminator-map >
30             <discriminator-mapping value="person"   class="CompanyPerson" />
31             <discriminator-mapping value="manager"  class="CompanyManager" />
32             <discriminator-mapping value="employee" class="CompanyEmployee" />
33         </discriminator-map>
34
35         <id name="id" type="integer" column="id">
36             <generator strategy="AUTO"/>
37         </id>
38         
39         <field name="name" column="name"/>
40         
41         <one-to-one field="spouse" target-entity="CompanyPerson">
42             <join-column name="spouse_id" referenced-column-name="id"/>
43         </one-to-one>
44         
45         <many-to-many field="friends" target-entity="CompanyPerson">
46             <join-table name="company_persons_friends">
47                 <join-columns>
48                     <join-column name="person_id" referenced-column-name="id"/>
49                 </join-columns>
50                 <inverse-join-columns>
51                     <join-column name="friend_id" referenced-column-name="id"/>
52                 </inverse-join-columns>
53             </join-table>
54         </many-to-many>
55     </entity>
56
57 </doctrine-mapping>