根据属性绘制冬眠集合



我正在使用旧数据库,我正在努力帮助我帮助我。

我有3个桌子,看起来像:

Table results:
id (number pk)
info_id (varchar)
result (varchar)
Table info
id (number pk)
info_id (varchar)
Table registration
id (number pk)
Table letter
id (number pk)
registration_id

我只能修改对象的字母,在此对象中,我希望能够获得(仅读)结果

public class Letter  {
    private Long  id;
    private Registration registration;  
    private List<Result> results;
}

注册对象已经存在,看起来像这样:

public class Registration  {
    private Long  id;
    private Info info;  
}

我正在尝试将结果对象映射到字母对象,而我正在尝试这样的东西:

<list name="results" table="result" cascade="none" inverse="false">
          <key property-ref="registration.info.info_id"/>
          <index column="info_id "  />
        <one-to-many class="Result" />
    </list>

我基本上希望Hibernate通过一系列对象进行连接,并最终得到一个看起来像:

的SQL
SELECT * FROM result,letter,info WHERE letter.info_id=info.info_id AND info.info_id=result.info_id
AND letter.id=?;

在休眠中有这样的可行吗?

编辑:表信息和注册具有相同的ID。所以info.id=registration.id。如果需要,我可以将信息添加到字母对象中。

根据此处的链接,

。只有使用内部连接才能维持关系。所以,是的,您可以做到。您可能必须将注册。ID= info.ID手动添加到查询中。

最新更新