hibernate hql加入hashset问题

时间:2011-09-09 13:53:21

标签: hibernate hql

我有三张桌子

用户,调查,调查报告

我使用hibernettool生成对象/ mapping / xml等

调查对象中的

调查回复

private Set surveyresponses = new HashSet(0); < - 这是在调查类

中生成的代码

我正在运行查询

select u.id, s from users u, survey s
where u.id = s.id

但是我的调查回应“set”是空的。 如何将所有这些调查回复添加到调查的集合中? 假设我参考了调查回复中的调查ID

有点新的hibernate =) 感谢

1 个答案:

答案 0 :(得分:0)

那是因为当你在做HQL时,你会得到一个List,里面有你查询中的对象,但它不会填充对象中的属性。您需要做的是在调查的配置中指定一组调查回复,如下所示:

<set name="surveyresponses" inverse="true" lazy="true"  cascade="all-delete-orphan">                    
    <key>
        <column name="id" precision="10" scale="0" not-null="true" />
    </key>
    <one-to-many class="surveyresponse" />
</set>

现在每当加载调查时,Hibernate都会填充你的集合。