To icecraft等大侠,Hibernate多表关联查询问题(kw:one many view)

yzyun 2005-05-18 03:00:26
To icecraft等大侠,Hibernate多表关联查询问题(关键字:Hibernate one many view)
销售记录表中记录了销售单号、公司编号、货物编号、运输方式编号、购货方编号、数量等字段:
Table Sale
SaleBillNo //销售单号(与CompanyNo构成主键)
CompanyNo //公司编号(与SaleBillNo构成主键)
GoodsNo //货物编号 => 对应数据库视图 V_Goods (No,Name) 的No
TransWayNo //运输方式编号 => 对应数据库视图 V_TransWay (No,Name) 的No
BuyerNo //购货方编号 => 对应数据库视图 V_Buyer (No,Name) 的No
Amount //数量

现在想用Hibernate查询出销售记录,即页面显示对应出货物名称、运输方式名称、购货方名称
应该怎样写相应的Sale.hbm.xml和关联表(视图)的hbm.xml文件?

我借助了Hibernate Syn插件进行开发,table能生成hbm,还需怎么修改?
view通过Hibernate Syn插件不能生成hbm,只好手写,该怎么写?

HQL 写出来是什么样子的?
是from Sale s,V_Goods vg,V_TransWay vt,V_Buyer vb ....
还是用left outer join

谢谢,必复分。
...全文
131 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fashchina 2005-07-11
  • 打赏
  • 举报
回复
如果要用left outer join
则,要在xml文件加2个xml的对应关系,一对一,一对多,多对多等

如果不用,也可以直接这么写

select child, person from Child child,Person person where child.personId=person.Id

返回是一个树组

然后取
List list=.......
Iterator it = list.iterator();
while (it.hasNext()) {
Object[] tuple = (Object[]) it.next();
child= (Child) tuple[0];
person = (Person ) tuple[1];
}

zhangsq 2005-07-11
  • 打赏
  • 举报
回复
up

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧