iteye_19362
iteye_19362
2012-04-19 12:49

hibernate 多表查询问题

已采纳

[size=medium]create table t_house
(
house_id int auto_increment primary key,
house_name varchar(200),
house_type_id int
....
)
create table t_house_type
(
house_type_id int primary key,
house_type_name varchar(50),
valid bit
);
house表的外键house_type_id对应t_house_type的主键,
我要多表查询获取比如house的name 和house_type的name
String hql = "select new list(a.house_name ,b.house_type_name ) FROM house as a,houseType as b WHERE a.house_type_id=b.house_type_id";
Query query = session.createQuery(hql);
List list = query.list();
取到的list显然只有两个字段,因为我house和houseType都有dao和hbm.xml
但是对应这两个字段却没有dao和hbm.xml现在我list值能取到,但是
house_list = hs.queryAllHouse();
ActionContext.getContext().getSession().put("house_list", house_list);
list放入session中,然后到页面jsp显示


/s:iterator
却无法显示,不知道怎么解决,求大神指导,如果不在hbm.xml写many-to-one的情况下怎么解决多表查询问题,谢谢
[/size]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • zyn010101 zyn010101 9年前


    ${orderItem[0]} ${orderItem[1]}
    /c:forEach
    orderItem在后台java代码中是什么对象,在这里就是什么对象,后台你查询两个不同对象的字段,是Object[],前台对应的ognl表达式取Object[]对应的列就可以了

    点赞 评论 复制链接分享
  • zyn010101 zyn010101 9年前

    house_list你确定有值吗?

    ${orderItem[0]}${orderItem[1]}
    /c:forEach

    点赞 评论 复制链接分享

相关推荐