日期:2014-05-20  浏览次数:20666 次

hibernate里面通过session.createSQLQuery(sql) 我要查询多表怎么查?
Query query=session.createSQLQuery(queryStringSql).addEntity("c",tablename.class);
List result1=query.list();


各位大虾!帮忙看看!
这样查是不是只能查询一个实体对像呀!
我要查多个表对象怎么查呀?

------解决方案--------------------
1,分开查。
2,报表查询 就是 select new Table(t1.a,t2.b ...) from ...... 
的形式。
------解决方案--------------------
你建立了一个表后可以通过表生成一个对应的pojo 同时还帮你映射好了。。只要你去写查询了..
------解决方案--------------------
你感觉生成的UserInfo很复杂?

你可以直接copy hibernate的pojo的前面那些 定义的 就是我列出来的 int。。。 string 。。。

再调用Ec自动生成set() get()方法。一个Info不需要几秒就出来了
------解决方案--------------------
List cats = sess.createSQLQuery("select {cat.*} from cats cat")
.addEntity("cat", Cat.class);
.setMaxResults(50);
.list();
------解决方案--------------------
尽管是查多表但是返回的最好是一个对象,如果是我的话我会把sql尽量做成视图映射成pojo,把你从多个pojo里面摘取的东西抽想成一个对象,简化你现在的情况。
------解决方案--------------------
慢慢来吧 做多了就知道有个这样的pojo比你想的还要简单 只是写的复杂,但是工具会生成。。相信你会喜欢的。
而且封装好的东西改起来比较方便