hibernate 一对多 jsp显示

需求如下:

公司信息表company_info:name(姓名)、nature(性质外键关联nature_code)

公司的性质放置到另外一张表

公司性质表company_nature:nature_code(公司性质代码)、nature_des(公司性质描述)

namenature
软件公司1

nature_codenature_des
1国企

首先通过MyEclipse根据数据库反向自动创建entity

public class CompanyInfo implements java.io.Serializable {

private String name;

private CompanyNature companyNature;


//注意下面的FetchType默认为lazy,手动改为EAGER,这样在一个session中同时获取两个实体类

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "scale")
public CompanyScale getCompanyScale() {
return this.companyScale;
}


public void setCompanyScale(CompanyScale companyScale) {
this.companyScale = companyScale;
}

//相关自动生成的构造方法和set get方法

}

public class CompanyNature implements java.io.Serializable {

private Integer natureCode;
private String natureDes;
private Set<CompanyInfo> companyInfos = new HashSet<CompanyInfo>(0);

//注意下面的FetchType默认为lazy,手动改为EAGER,这样在一个session中同时获取两个实体类

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "companyNature")
public Set<CompanyInfo> getCompanyInfos() {
return this.companyInfos;
}


public void setCompanyInfos(Set<CompanyInfo> companyInfos) {
this.companyInfos = companyInfos;
}

//相关自动生成的构造方法和set get 方法

}

二、dao

public List queryCompany(){
List resultList = null;
session = getCurrentSession();
Query  query = session.createQuery("FROM CompanyInfo");
resultList = query.list();
return resultList;
}


action

public String queryCompany() throws Exception{

TelService telService = (TelService)getBeanFromCurrentContext("TelService");
List<CompanyInfo> l = telService.queryCompany();
getServletRequest().setAttribute("companyInfoList", l);
        return "queryCompany";
}

jsp页面


<table border="1">
    <s:iterator value="#request.companyInfoList" id="CompanyInfo">
      <tr><td>
      <s:property value="#CompanyInfo.name"/>
</td><td>
<s:property value="#CompanyInfo.companyNature.natureDes" />
</td>
          </tr>
         </s:iterator>
     </table>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值