日期:2014-05-17  浏览次数:20690 次

关于Hibernate hql语句
  我想问哈 :Query query=session.createQuery("from User where othername='123'");
 List list=query.list();
和这条语句有什么区别
 Query query=session.createQuery("from User where othername=?");
query.setString(0,"123");
  List list=query.list();

第一条语句能够查询出结果,为什么第二条语句没结果;没反应 ,也不报错

------解决方案--------------------
引用:
我想问哈 :Query query=session.createQuery("from User where othername='123'");
 List list=query.list();
和这条语句有什么区别
 Query query=session.createQuery("from User where othername=?");
query.……


第二个类似于用PreparedStatement执行SQL语句,所以HQL语句中可用占位符作为参数,用?。

可用将第二条改成 Query query=session.createQuery("from User  u where u.othername=?");
query.setString(0,"123");
  List list=query.list(); 这下看看好不好使。


------解决方案--------------------
Query query=session.createQuery("from User where othername=?");
query.setString(0,"123");
它是有问题的;
你需要用离线查询;