社区
Java EE
帖子详情
hibernate里面通过session.createSQLQuery(sql) 我要查询多表怎么查?
lingjun_yang
2008-06-09 11:30:05
Query query=session.createSQLQuery(queryStringSql).addEntity("c",tablename.class);
List result1=query.list();
各位大虾!帮忙看看!
这样查是不是只能查询一个实体对像呀!
我要查多个表对象怎么查呀?
...全文
2884
23
打赏
收藏
hibernate里面通过session.createSQLQuery(sql) 我要查询多表怎么查?
Query query=session.createSQLQuery(queryStringSql).addEntity("c",tablename.class); List result1=query.list(); 各位大虾!帮忙看看! 这样查是不是只能查询一个实体对像呀! 我要查多个表对象怎么查呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
k_kid9157
2011-10-12
打赏
举报
回复
学习 谢谢
xingwei4225
2011-04-11
打赏
举报
回复
学习学习
shixiheng
2010-12-20
打赏
举报
回复
低谷发股份
KKK2007
2008-06-11
打赏
举报
回复
对
tsycxl
2008-06-11
打赏
举报
回复
学习中
lingjun_yang
2008-06-09
打赏
举报
回复
嗯!非常感谢
我的理解是hibernate 封装了jdbc的操作本应该更简单一些才对呀!
这样实现好麻烦啊!
郁闷!!!
lingjun_yang
2008-06-09
打赏
举报
回复
我把代码贴出来吧
这是要执行的sql
final String queryStringSql1="select d.MIS_MENU_ID,f.*" +
"from T_MIS_USER_GROUP a, T_MIS_GROUP_DESCRIPT b, T_MIS_GRP_PERMISSION c, " +
"T_MIS_MENU d, T_MIS_MENU_REPORT e,T_MIS_BO_REPORT_DESC f " +
"where a.MIS_GROUP_ID=b.MIS_GROUP_ID and b.MIS_GROUP_ID=c.MIS_GROUP_ID " +
"and c.MIS_MENU_ID=d.MIS_MENU_ID and d.MIS_MENU_ID=e.MIS_MENU_ID " +
"and e.BO_REPORT_ID=f.BO_REPORT_ID and d.MENU_PARENTID="+misMenuPid+" and a.MIS_USER_ID='"+misUserId+"'";
//我在这里要怎么写?
Session session=getSession();
Query query=session.createSQLQuery(queryStringSql).addEntity("d", TMisMenu.class);
if(query!=null){
return query.list();
}
SDMRauquin
2008-06-09
打赏
举报
回复
public class UserInfo{
//所返回的具体对象属性
private Integer userId;
private Integer year;
private Integer month;
private Integer day;
private Integer point;
...
set
...
get
}
Query query=session.createSQLQuery(queryStringSql).addEntity(UserInfo.class);
SDMRauquin
2008-06-09
打赏
举报
回复
不过好像你用的不是这个形式。
查多表的实体。那么结果集自然不是一个表的对象了。要自己定义一个pojo了。
就是自己去定义一个set,get的UserInfo。而不能直接用hibernate自己生成的pojo
lingjun_yang
2008-06-09
打赏
举报
回复
谢谢你!能不能帮我说清楚一点呀!我刚接触hibernate的
还是用
Query query=session.createSQLQuery(queryStringSql).addEntity("c",tablename.class);
List result1=query.list();
这个查吗?那
.addEntity("c",tablename.class);
这里后面参数怎么填呀!
SDMRauquin
2008-06-09
打赏
举报
回复
List l = session.createCriteria("com.clairnet.hibernate.orm.Video")
.add(Property.forName("status").eq(new Integer(0))) //条件
.addOrder(Order.asc("id")) //排序
.createAlias("user", "u") //关联表
.list();
我的简单例子
Shine_Panda
2008-06-09
打赏
举报
回复
1,分开查。
2,报表查询 就是 select new Table(t1.a,t2.b ...) from ......
的形式。
zhouzongxi
2008-06-09
打赏
举报
回复
慢慢来吧 做多了就知道有个这样的pojo比你想的还要简单 只是写的复杂,但是工具会生成。。相信你会喜欢的。
而且封装好的东西改起来比较方便
sunyujia
2008-06-09
打赏
举报
回复
尽管是查多表但是返回的最好是一个对象,如果是我的话我会把sql尽量做成视图映射成pojo,把你从多个pojo里面摘取的东西抽想成一个对象,简化你现在的情况。
悠然的超能力
2008-06-09
打赏
举报
回复
List cats = sess.createSQLQuery("select {cat.*} from cats cat")
.addEntity("cat", Cat.class);
.setMaxResults(50);
.list();
lingjun_yang
2008-06-09
打赏
举报
回复
学习中!是的,说的很好!
我想是我自己还不会所以觉得很麻烦的。谢谢大家!
SDMRauquin
2008-06-09
打赏
举报
回复
你感觉生成的UserInfo很复杂?
你可以直接copy hibernate的pojo的前面那些 定义的 就是我列出来的 int。。。 string 。。。
再调用Ec自动生成set() get()方法。一个Info不需要几秒就出来了
zhouzongxi
2008-06-09
打赏
举报
回复
你建立了一个表后可以通过表生成一个对应的pojo 同时还帮你映射好了。。只要你去写查询了..
SDMRauquin
2008-06-09
打赏
举报
回复
hibernate是封装了,只不过你不会罢了。你是在学习阶段的话,推荐你去学习下我开始的例子 createCriteria的用法。那么就不需要写HQL那么麻烦了。
而且在表连接最好用inner 那样简单很多
NamedParameterPreparedStatement:使用参数名称而不是参数索引位置准备和执行
SQL
的库
If Hiberate is used, with the help of
query
builder (
create
SQL
Query
) in org.
hibernate
.
Session
, one can mention the placeholder parameter name in the
SQL
and set the values based on the parameter name....
Hibernate
的
session
.
create
SQL
Query
的几种
查
询
方式
Hibernate
的
session
.
create
SQL
Query
的几种
查
询
方式 当我们用HQL进行子
查
询
的时候,如select * from Tree where pid in (select id from Tree,此时HIBERANTE就会报错,说什么*号错误之类的。但如果将*改为Tree...
(SSH)
Hibernate
使用
session
.
create
SQL
Query
()语句进行
多表
联立
查
询
提取结果集并返回给jsp页面的具体方式
一.使用addScalar()方式 **具体思路: (因博客内使用’<’’>...2.因为
session
.
create
SQL
Query
()返回的是一个Object对象,无法自动存储进持久化对象类中,所以使用(List《Object》)
session
.crea
Hibernate
中
session
.
create
Query
()与
session
.
create
SQL
Query
()的区别与使用
两者的区别:
Query
create
Query
( String
query
String) 创建一个
查
询
字符串中给定的HQL
查
询
新的实例。...
SQL
Query
create
SQL
Query
( String
query
String) 创建一个新的
查
询
字符串给定的
SQL
实例
SQL
Query
的
hibernate
关于
Session
.
create
SQL
Query
(),将
查
询
的数据放入到实体类中
一直以来,使用
Session
.
create
SQL
Query
(),调用addEntity(class)方法,将
查
询
的数据注入到实体类中。今天忽然方法失效了,原因是自己
查
询
时,通过其它类,最后将数据组装成实体类对应的表的字段。注入的时候,
SQL
...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章