第二类:*.cpm.xml文件<o:p></o:p>
*.cpm.xml就是Object/Search Engine Mapping了。 我们也可以拿她当作同Hibernate中的*.hbm.xml来理解。他的作用就是提供了POJO到common meta data的映射。下面是一个*.cpm.xml文件的片断:<o:p></o:p>
<compass-core-mapping package="org.compass.sample.petclinic"><o:p></o:p>
<contract alias="entity"><o:p></o:p>
<id name="id" /><o:p></o:p>
</contract><o:p></o:p>
<contract alias="person" extends="entity"><o:p></o:p>
<property name="firstName"><o:p></o:p>
<meta-data>${petclinic.firstName}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="lastName"><o:p></o:p>
<meta-data>${petclinic.lastName}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="address"><o:p></o:p>
<meta-data>${petclinic.address}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="city"><o:p></o:p>
<meta-data>${petclinic.city}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="telephone"><o:p></o:p>
<meta-data>${petclinic.telephone}</meta-data><o:p></o:p>
</property><o:p></o:p>
</contract><o:p></o:p>
<class name="Specialty" alias="${petclinic.specialty}" root="false"><o:p></o:p>
<property name="name"><o:p></o:p>
<meta-data>${petclinic.specialty}</meta-data><o:p></o:p>
</property><o:p></o:p>
</class><o:p></o:p>
<class name="Owner" alias="${petclinic.owner}" extends="person"><o:p></o:p>
<property name="firstName"><o:p></o:p>
<meta-data>${petclinic.firstName}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="lastName"><o:p></o:p>
<meta-data>${petclinic.lastName}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="address"><o:p></o:p>
<meta-data>${petclinic.address}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="city"><o:p></o:p>
<meta-data>${petclinic.city}</meta-data><o:p></o:p>
</property><o:p></o:p>
<property name="telephone"><o:p></o:p>
<meta-data>${petclinic.telephone}</meta-data><o:p></o:p>
</property><o:p></o:p>
<reference name="petsInternal" ref-alias="${petclinic.pet}" /><o:p></o:p>
</class><o:p></o:p>
</compass-core-mapping><o:p></o:p>
<o:p> </o:p>