我卡在了 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 

外键约束配置为使用“ItemID”列连接这两个表。

我的 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> 

对我来说一切看起来都很好,但是当我运行我的程序时出现 hibernate 错误:

property [itemId] not found on entity [de.delife.sql.Others] 

我在 ItemsBase 和一个名为 ItemsProperties 的表之间建立了关系并且它有效,但是对于这个“漂亮”的表“Others”我被卡住了。

如果有人能在这件事上帮助我,我会很高兴。提前致谢。

请您参考如下方法:

这样试试。我试过了,它对我有用。

<set name="otherses" table="Others"  inverse="true" lazy="true" fetch="select"> 
    <key column="itemId" foreign-key="itemId" property-ref="itemId"/> 
    <one-to-many class="de.delife.sql.Others" not-found="ignore" /> 
</set>  


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!