预期类型:java.util.List,实际值:org.hibernate.collection.internal.PersistentSet

时间:2014-02-06 16:12:25

标签: gwt one-to-many

我有一个F的映射文件,它通过多对一关系链接到其他人。 我不得不在F到HF之间添加一对多的关系

以下内容已添加到F映射文件

                    <set name="hf" fetch="join"  inverse="false" lazy="true" order-by="DATECRE">
                    <key>
                    <column name="METIER" />
                    <column name="SITEGEO" />
                    <column name="CPTDOSSIER" />
                    <column name="NUMLIGNE" />
                    </key>
                    <one-to-many class="HF" />
                    </set>

使用时,我有以下错误。 我认为它可能是逆属性被改变但F应该是关系所有者,所以我把它设置为假。

有人可以指导我吗?

ERROR 06/02/2014 16:42:30 [BasicPropertyAccessor.java.set(117)] HHH000123: IllegalArgumentException in class: org.nit.persistance.entites.base.BF, setter method of property: hf
ERROR 06/02/2014 16:42:30 [BasicPropertyAccessor.java.set(118)] HHH000091: Expected type: java.util.List, actual value: org.hibernate.collection.internal.PersistentSet
INFO  06/02/2014 16:42:30 [DefaultLoadEventListener.java.onLoad(159)] HHH000327: Error performing load command : org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of org.nit.persistance.entites.base.BF.hf

在我的FProxy中,我添加了以下行。 我根本不需要设置HF。

List<HFProxy> getHf();

在F班中,添加了以下内容

private List<HF> hf;

public List<HF> getHf() {
    return hf;
}

1 个答案:

答案 0 :(得分:0)

解决方案

一个。仅在代理部分中创建一个getter。

List<HistoFichesProxy> getHistofiches();

B中。在实体F。

中创建一个getter和setter

℃。将F hbm文件修改为:

                <bag name="hf" fetch="join"  inverse="false" lazy="true" order-by="DATECRE">
                <key>
                <column name="METIER" />
                <column name="SITEGEO" />
                <column name="CPTDOSSIER" />
                <column name="NUMLIGNE" />
                </key>
                <one-to-many class="HF" />
                </bag>