iteye_19362 2012-04-19 12:49
浏览 229
已采纳

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 2012-04-19 13:21
    关注


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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?