left join fetch 用法实例记录

来源:互联网 发布:cnki翻译助手软件下载 编辑:程序博客网 时间:2024/05/21 19:21

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>







0 0