[b]哪位大哥帮小弟看看,小弟感激不尽。[/b]对应的类有
Goods (商品)
private String id;//编号
private String name;//名字
OrderDetail//订单
private String id;//订单号
private List orderDetailItem = new ArrayList();
——-------------------------------
OrderDetailItem//订单明细
private String id;//ID
private Goods goods = new Goods();
private Integer num;//数量
怎么写HQL语句把三个表关联在一起,根据订单的ID查询出对应该的商品名字、价格、数量?
我也写了总是报错如下:
select new org.ncist.evaaass.qsl.domain.shop.Goods(o.id,o.name,o.price),
new org.ncist.evaaass.qsl.domain.shop.OrderDetailItem(p.num)
from org.ncist.evaaass.qsl.domain.shop.OrderDetail e,
org.ncist.evaaass.qsl.domain.shop.OrderDetailItem p,
org.ncist.evaaass.qsl.domain.shop.Goods o
where o.id = p.id and p.id = e.id and e.id='402880e82c054f2c012c05749f44000e'
OrderDetailItem缺少了OrderDetail的多对一,需要补上,然后
select model.goods model from OrderDetailItem as model where model.这里填OrderDetail多对一的变量名.id = '402880e82c054f2c012c05749f44000e'
好久没玩过hibernamte了。
你的这些pojo是eclipse自动生成的吗?
如果不是的话,你就需要在xml文件中对这些表关联。
private Set orderDetailItem = new HashSet();
from OrderDetail od where od=订单号
学习啦!up!!