java Hibernate许多人加入
我刚开始冬眠,我正在春天使用它。我有以下表格:
@Entity
@Configurable
public class Location {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long locationid;
private String locationName;
@ManyToOne
private Site site;
//getters setters skipped
}
@Entity
@Configurable
public class Site {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long siteid;
private String siteName;
@ManyToOne
private Country country;
//getters setters skipped
}
@Entity
@Configurable
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long countryid;
private String countryName;
@ManyToOne
private Region region;
//getters setters skipped
}
@Entity
@Configurable
public class Region {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long regionid;
private String regionName;
//getters setters skipped
}
public class Assets {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long assetId;
@ManyToOne
private Location location;
//getters setters skipped
}
我想根据地区提取所有资产。我该怎么做
如何使用区域之间的关系-->;国家-->;网站-->;定位并提取相关记录?我如何在不影响性能的情况下做到这一点
还是我应该重新设计桌子
# 1 楼答案
您只需在类资产中通过@NamedQuery完成它:
select a from Asserts a where a.location.site.contry.regin.reginName = :reginName
希望能有所帮助