hibernate 中 createSQLQuery() 用法,我想让它返回一个book对象,怎么写语句。
SessionFactorysf=HibernateUtil.getSessionFactory();Sessions=sf.getCurrentSession();s....
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
SQLQuery sqlquery = s.createSQLQuery("select * from Book b where b.name = bookName").addEntity("b",Book.class);
List<Book> list = sqlquery.list();
s.getTransaction().commit();
return list;
这个写就不对,返回不了想要的结果,请高手指点迷津!不胜感激!!
另外在下面给小弟介绍一下,这个createSQLQuery()的用法。谢谢
结果如果很满意,另加高分。。。
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
List<Book> sqlquery = s.createSQLQuery("select * from book where name = bookName").addEntity("b",Book.class).list();
s.getTransaction().commit();
这个不会有错了吧,它查询的是什么值,List?还是BOOK? 展开
Session s = sf.getCurrentSession();
s.beginTransaction();
SQLQuery sqlquery = s.createSQLQuery("select * from Book b where b.name = bookName").addEntity("b",Book.class);
List<Book> list = sqlquery.list();
s.getTransaction().commit();
return list;
这个写就不对,返回不了想要的结果,请高手指点迷津!不胜感激!!
另外在下面给小弟介绍一下,这个createSQLQuery()的用法。谢谢
结果如果很满意,另加高分。。。
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
List<Book> sqlquery = s.createSQLQuery("select * from book where name = bookName").addEntity("b",Book.class).list();
s.getTransaction().commit();
这个不会有错了吧,它查询的是什么值,List?还是BOOK? 展开
2个回答
展开全部
SessionFactory sf = HibernateUtil.getSessionFactory();
Session s = sf.getCurrentSession();
s.beginTransaction();
Book book=(Book)s.createSQLQuery("select * from Book b where b.name = bookName").addEntity("b",Book.class);
s.getTransaction().commit();
return book;
使用SQLQuery对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。
Session s = sf.getCurrentSession();
s.beginTransaction();
Book book=(Book)s.createSQLQuery("select * from Book b where b.name = bookName").addEntity("b",Book.class);
s.getTransaction().commit();
return book;
使用SQLQuery对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。
展开全部
看上去,你的写法应该没啥问题。
不过这个b又不是占位符,你又是单表的查询,是不是应该把b去掉啊。
SQLQuery sqlquery = s.createSQLQuery("select * from Book b where b.name = bookName").addEntity(Book.class);
参考:http://hi.baidu.com/liheng666/blog/item/6b38d3c472d271a08226aca7.html
不过这个b又不是占位符,你又是单表的查询,是不是应该把b去掉啊。
SQLQuery sqlquery = s.createSQLQuery("select * from Book b where b.name = bookName").addEntity(Book.class);
参考:http://hi.baidu.com/liheng666/blog/item/6b38d3c472d271a08226aca7.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询