您的位置:首页 > Web前端

left join fetch 用法实例记录

2015-01-28 12:26 399 查看
left join fetch 应用:查找BusinessVersion表中的信息时同时抓取关联的BusinessOrganInfo信息,记录下来以备后用:

BusinessVersion.java

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ORGAN_ID")
private BusinessOrganInfo businessOrganInfo;
public BusinessOrganInfo getBusinessOrganInfo() {
return businessOrganInfo;
}
public void setBusinessOrganInfo(BusinessOrganInfo businessOrganInfo) {
this.businessOrganInfo = businessOrganInfo;
}


BusinessOrganInfo.java(这儿只用到了单向的关联抓取,可以不用在该实体中声明@OneToMany了)

@OneToMany(mappedBy = "businessOrganInfo", cascade = CascadeType.ALL)
private List<BusinessVersion> businessVersions;
public List<BusinessVersion> getBusinessVersions() {
return businessVersions;
}
public void setBusinessVersions(List<BusinessVersion> businessVersions) {
this.businessVersions = businessVersions;
}


BusinessVersionDao.java

public BusinessVersion findById(BusinessVersion bv){
List<BusinessVersion> businessVersions = this.findByHql(" from BusinessVersion as b left join fetch b.businessOrganInfo where b.id=?",bv.getId());
if(businessVersions!=null && businessVersions.size()>0){
return businessVersions.get(0);
}else{
return null;
}
}


businessVersion.jsp

<tr align="right">
<td style="font-size: 12px">机构:</td>
<td><input name="businessVersion.businessOrganInfo.organName" ...."/><span style="font-family: Arial, Helvetica, sans-serif;"></td>
</tr>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: