我被困在hibernate xml映射配置。休眠:映射与非主键列上的一对多
我已经建立了与外键约束一些表在我的MSSQL数据库:
Table ItemsBase
ID int primary-key
ItemID int unique index
... some more columns
Table Others
ID int primary-key
ItemID int unique index
... some more columns
外键约束被配置为通过使用列“项目ID”,以这两个表连接。
我ItemsBase.hbm.xml文件看起来像:
<hibernate-mapping>
<class name="de.delife.sql.ItemsBase" table="ItemsBase" schema="dbo" catalog="Delife_Plenty">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="itemId" type="java.lang.Integer">
<column name="ItemID" unique="true" />
</property>
<set name="otherses" table="Others" inverse="true" lazy="true" fetch="select">
<key property-ref="itemId">
<column name="ItemID" />
</key>
<one-to-many class="de.delife.sql.Others" not-found="ignore" />
</set>
</class>
</hibernate-mapping>
和Others.hbm.xml文件看起来像:
<hibernate-mapping>
<class name="de.delife.sql.Others" table="Others" schema="dbo" catalog="Delife_Plenty">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned" />
</id>
<many-to-one name="itemsBase" class="de.delife.sql.ItemsBase" fetch="select" property-ref="itemId">
<column name="ItemID" unique="true" />
</many-to-one>
</class>
</hibernate-mapping>
一切看起来都对我很好,但是当我运行程序我得到一个休眠错误:
property [itemId] not found on entity [de.delife.sql.Others]
我有一个既定的关系之间的ItemsBase和名为ItemsProp erties和它的作品,但与这个“漂亮”表“其他”我卡住了。
我很高兴,如果有人能帮助我解决这个问题。 Thx提前。
你能分享你的'Others'实体类吗? –