我对如何为 Hibernate 中的映射制作 hbm.xml 文件有一些疑问。映射在多个表中具有字段的 Java 对象时会出现问题。
我们使用的自定义框架要求每个对象都有一个 hbm.xml 文件,但在这种情况下,它的字段位于三个表中,所以我想做一个原生 SQL 查询(上面的另一个要求)并将字段值移动到Hibernate 映射文件中描述的新对象的结果。
我的休眠映射文件类似于:
<hibernate-mapping>
<class name="com.mycompany.myproject.model.scommons.companhiaalmacen.CompanhiaAlmacen" table="COMPANHIA_ALMACEN">
<id name="companyWarehouseId" type="java.lang.Integer" access="field">
<column name="ID_EMPRESA_NAVE" />
<generator class="assigned" />
</id>
<property name="companyId" type="java.lang.Integer">
<column name="ID_EMPRESA" />
</property>
<property name="warehouseDCId" type="java.lang.Integer">
<column name="ID_CENTRO_DISTRIBUCION_NAVE" />
</property>
<!-- HERE: This attribute NOMBRE_COMERCIAL belongs not only to another table (EMPRESA) -->
<!-- but also to another schema (GENERAL) as well -->
<property name="name" type="java.lang.String">
<column name="NOMBRE_COMERCIAL" />
</property>
<property name="creationDate" type="java.util.Date">
<column name="FECHA_ALTA" />
</property>
<property name="creationUser" type="java.lang.String">
<column name="USUARIO_ALTA" />
</property>
</class>
</hibernate-mapping>
如果不制作 oneToMany 或 ManyToOne,我不知道如何制作。我不希望 Hibernate 检索对象及其映射的实体,因为我想从我自己的 db2 查询中获取它。
有人知道怎么做,或者我在哪里可以找到这个,好吗?(我已经在 Hibernate API 中寻找过 SQLQuery,只是我没有得到的映射)。
先感谢您。