我正在使用遗留数据库,我正试图让hibernate帮助我。
我有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
我只能修改Object for letter,在这个对象中我希望能够获得一个(只读)结果列表
public class Letter {
private Long id;
private Registration registration;
private List<Result> results;
}
注册对象已存在,如下所示:
public class Registration {
private Long id;
private Info info;
}
我正在尝试将结果对象映射到Letter对象,我正在尝试这样的事情:
<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=?;
这样的东西在Hibernate中是否可行?
修改
表信息和注册具有相同的ID。所以info.id=registration.id
。如果需要,我可以将Info添加到Letter对象中。