我是使用 Hibernate 4.3(xml 样式)的初学者,当它不仅询问 pojo 元素时,我还坚持使用查询方式。我的意思是……(见下一个例子)
我有两个表:Person 和 Adress。在表 Person 中,我有一个引用地址的外键“id_adress_fk”。在表 Adress 中,我将“id”作为主键,将“Adress_Street_Name”作为属性。一位参与者只能有一个地址。一个地址有几个人住在那里。我写了两个 Pojos 类。
我正在尝试请求数据库具有人员属性和地址街道名称。但我无法检索地址街道名称。我不明白返回什么对象,如何编写与返回的好对象匹配的好查询。我必须在 Adress 和 Person 之间加入吗?但在这种情况下,返回的对象是什么?我该如何处理?
非常感谢。
我的优点:
public class Person implements Serializable {
private Integer id;
private Adress adress;
// getters and setters
public class Adress implements Serializable {
private Integer id;
private Set<Person> persons = new HashSet<Person>(0);
// getters and setters
我的映射:
地址.HBM.XML
<set name="persons" table="person" inverse="true" lazy="false" >
<key>
<column name="id_adress_fk" not-null="true" />
</key>
<one-to-many class="com.you.know.what.Person" />
</set>
人.HBM.XML
<many-to-one name="adress" class="you.know.what.Adress" >
<column name="id_adress_fk" not-null="true" />
</many-to-one>
我的查询(例如):
List<Person> allPerson = getSessionFactory().getCurrentSession().createQuery( "from Person ").list();
我知道我只查询 Pojo Person,但 Adress 对象是“包含”在 Person 中的,所以我应该成功检索 Adress_street_name...这方面的帮助可能会很棒!