我遇到了一些HQL问题,因为我是新手。即使我没有“简单查询”的问题,我目前仍然在三个表之间进行查询。
我已经阅读了这些教程,但是找不到符合我需求的有效示例。我会尽力解释我的问题:
我有三个不同的表格,我们将它们命名为HOUSES
,OWNERS
和OWNERINFOS
。
鉴于城镇ID,我需要列出该城镇的所有房屋,包括该房屋所有者的名称和姓氏。< / p>
我制作了一个非常简单的图表来显示表格之间的联系:
我也不确定我应该使用哪种加入策略。任何形式的帮助都将受到高度赞赏,因为解决这个问题对我来说是一个优先事项。
提前致谢!
答案 0 :(得分:1)
这只是一个模板
public class Tag
{
public virtual int Id
{ get; set; }
public virtual string Name
{ get; set; }
public virtual string UrlSlug
{ get; set; }
public virtual string Description
{ get; set; }
public virtual IList<Post> Posts
{ get; set; }
}
最简单的情况是使用所有者信息获取所有所有者
class House {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_town")
private Town town;
@OneToMany(mappedBy = "house")
private List<Owner> owners;
}
class Owner {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_house")
private House house;
@OneToOne
@JoinColumn(name = "fk_owner_info")
private OwnerInfo ownerInfo;
}
class OwnerInfo {
@OneToOne(mappedBy = "ownerInfo", fetch = FetchType.LAZY)
private Owner owner;
}