回覆列表
  • 1 # 使用者8733340540489

    1、如果是Query query = session.createQuery("")的話,試一下去掉前面的“select *”即createQuery方法內的條件直接是“from ......”,有幾個是可以用的,因為支援部分SQL。不行的話就用下面的格式(排序必用): select OBJECT(o) from A o where o.b in(21,32) select OBJECT(o) from A o order by o.b ASC2、Hibernate中實現模糊查詢,可有以下三種方式:第一種方式:QBC查詢String name = "", info = ""; if (sub != null && sub.getSubname() != null) { name = sub.getSubname(); } if (sub != null && sub.getSubinfo() != null) { info = sub.getSubinfo(); }Criteria cr = session.createCriteria(Subject.class);cr.add(Expression.like("subname","%"+name+"%"));cr.add(Expression.like("subinfo","%"+info+"%"));第二種方式:HQL查詢語句 String hql = "from Subject as s where s.subname like :name and s.subinfo like :info"; // 呼叫session的獲得資料列表方法,傳遞HQL查詢語句 Query query = session.createQuery(hql); query.setString("name","%"+name+"%"); query.setString("info","%"+info+"%"); System.out.println("*********"+hql);第三種方式:HQL查詢語句(查詢條件只能為英文或數字,漢字在傳遞到hibernate內部時出現亂碼問題)String hql = "from Subject as s where s.subname like "%"+name+"%" and s.subinfo like "%"+info+"%"";//呼叫session的獲得資料列表方法,傳遞HQL查詢語句Query query = session.createQuery(hql);注:Subject為資料庫表subject對映的類;它有相應的屬性subname、subinfo及相應的get和set方法;sub為Subject的一個例項化物件。

  • 中秋節和大豐收的關聯?
  • 寒溼重的人能吃排毒養顏膠囊嗎?