亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Hibernate 查詢方式總結

2020-07-27 21:42:29
字體:
來源:轉載
供稿:網友
1. get() and load()
Java代碼
  session.get(Clazz, id);
  session.load(Clazz, id);
  session.get(Clazz, id);
  session.load(Clazz, id);
  說明: load()與get()的區別
  請注意如果沒有匹配的數據庫記錄,load()方法可能拋出無法恢復的異常(unrecoverable exception)。 如果類的映射使用了代理(proxy),load()方法會返回一個未初始化的代理,直到你調用該代理的某方法時才會去訪問數據庫。 若你希望在某對象中創建一個指向另一個對象的關聯,又不想在從數據庫中裝載該對象時同時裝載相關聯的那個對象,那么這種操作方式就用得上的了。 如果為相應類映射關系設置了batch-size, 那么使用這種操作方式允許多個對象被一批裝載(因為返回的是代理,無需從數據庫中抓取所有對象的數據)。
  如果你不確定是否有匹配的行存在,應該使用get()方法,它會立刻訪問數據庫,如果沒有對應的行,會返回null。
2. HQL
Java代碼
  
復制代碼 代碼如下:

// 返回一行記錄
  String hql = "from TOrder o where o.id = ?";
  TOrder o = (TOrder) s.createQuery(hql)
    .setParameter(0, orderId)
    .uniqueResult();
  // 命名參數
  Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");
  q.setString("name", "Fritz");
  // 位置參數
  Query q = sess.createQuery("from DomesticCat cat where cat.name = ?");
  q.setString(0, "Izi");
  // 命名參數列表
  Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");
  q.setParameterList("namesList", names);
  // 分頁查詢
  Query q = sess.createQuery("from DomesticCat cat");
  q.setFirstResult(20);
  q.setMaxResults(10);
  List cats = q.list();
  3. Criteria
  List cats = sess.createCriteria(Cat.class)
   .add( Restrictions.like("name", "Fritz%") )
   .add( Restrictions.or(
   Restrictions.eq( "age", new Integer(0) ),
   Restrictions.isNull("age")
   ) )
   .addOrder( Order.asc("name") )
   .addOrder( Order.desc("age") )
   .list();
  
// 返回一行記錄
  String hql = "from TOrder o where o.id = ?";
  TOrder o = (TOrder) s.createQuery(hql)
    .setParameter(0, orderId)
    .uniqueResult();
  // 命名參數
  Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");
  q.setString("name", "Fritz");
  // 位置參數
  Query q = sess.createQuery("from DomesticCat cat where cat.name = ?");
  q.setString(0, "Izi");
  // 命名參數列表
  Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");
  q.setParameterList("namesList", names);
  // 分頁查詢
  Query q = sess.createQuery("from DomesticCat cat");
  q.setFirstResult(20);
  q.setMaxResults(10);
  List cats = q.list();

  3. Criteria
  
復制代碼 代碼如下:

List cats = sess.createCriteria(Cat.class)
   .add( Restrictions.like("name", "Fritz%") )
   .add( Restrictions.or(
   Restrictions.eq( "age", new Integer(0) ),
   Restrictions.isNull("age")
   ) )
   .addOrder( Order.asc("name") )
   .addOrder( Order.desc("age") )
   .list();   

4. Native SQL
  Java代碼
復制代碼 代碼如下:

String treeSql = "" +
   "select , level from tree t " +
   " start with t.parent_id = 0 " +
   " connect by prior t.id = t.parent_id";
  List result = session.createSQLQuery(treeSql)
   .addEntity("t", Tree.class)
   .addScalar("level", Hibernate.INTEGER)
   .list();
String treeSql = "" +
   "select , level from tree t " +
   " start with t.parent_id = 0 " +
   " connect by prior t.id = t.parent_id";
  List result = session.createSQLQuery(treeSql)
   .addEntity("t", Tree.class)
   .addScalar("level", Hibernate.INTEGER)
   .list();

  5. Named SQL queries(不推薦)
  6. filter(不推薦)
  7. Detached queries(還沒測試)
  The DetachedCriteria class lets you create a query outside the scope of a session, and then later execute it using some arbitrary Session
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久999国产精品| 欧美日韩精品在线观看| 亚洲第一国产精品| www.午夜精品| 欧美又大粗又爽又黄大片视频| 国产精品999999| 亚洲色图25p| 亚洲欧洲自拍偷拍| 久久影院在线观看| 亚洲美女在线观看| 九九热最新视频//这里只有精品| 2023亚洲男人天堂| 亚洲精品网址在线观看| 日韩av快播网址| 日本中文字幕不卡免费| 精品毛片网大全| 亚洲人成77777在线观看网| 欧美激情va永久在线播放| 欧美午夜女人视频在线| 黄色一区二区在线观看| 国产69精品久久久久9999| 91沈先生在线观看| 欧日韩在线观看| 色婷婷亚洲mv天堂mv在影片| 久久夜精品香蕉| 国产精品永久免费在线| 色妞久久福利网| 久久久久久久久国产| 亚洲精品国产品国语在线| 国产精品黄色影片导航在线观看| 久精品免费视频| 欧美性猛交xxxx免费看久久久| 88国产精品欧美一区二区三区| 亚洲第一二三四五区| 精品久久久久久久久久久| 亚洲性av在线| 久久久精品美女| 日韩在线视频免费观看高清中文| 91福利视频在线观看| 国产精品成人免费电影| 久久久久久久国产| 色99之美女主播在线视频| 色99之美女主播在线视频| 国产成人一区二区在线| 国产91成人在在线播放| 久久影视电视剧凤归四时歌| 91国内免费在线视频| 午夜精品久久久99热福利| 欧美极品少妇全裸体| 国产视频综合在线| 国产精品99久久久久久人| 成人免费直播live| 日韩欧美中文字幕在线播放| 亚洲成人久久一区| 久久精品小视频| 国产mv久久久| 国产精品久久久久久影视| 激情久久av一区av二区av三区| 国产激情999| 欧美性猛交xxxx免费看久久久| 欧美日韩国产91| 91麻豆国产语对白在线观看| 一区二区三区国产视频| 欧美大肥婆大肥bbbbb| 国产欧美 在线欧美| 国产成人鲁鲁免费视频a| 国产精品aaaa| 亚洲欧美日韩久久久久久| 久久九九有精品国产23| 亚洲国产精品成人av| 91av在线免费观看视频| 欧美一区二区三区图| 欧美午夜女人视频在线| 黑丝美女久久久| 精品中文字幕乱| 国产视频久久久久久久| 欧美激情18p| 亚洲国产精品久久久久秋霞蜜臀| 亚洲成人av中文字幕| 久久久亚洲精选| 日韩在线中文字| 久久久这里只有精品视频| 午夜精品一区二区三区视频免费看| 性欧美xxxx视频在线观看| 美日韩精品视频免费看| 国产xxx69麻豆国语对白| 亚洲精品电影久久久| 午夜精品久久久久久99热软件| 国产欧美一区二区三区久久| 久久久久久久香蕉网| 欧美日韩免费看| 成人免费xxxxx在线观看| 午夜剧场成人观在线视频免费观看| 91chinesevideo永久地址| 日本精品视频在线播放| 日韩中文在线中文网三级| 久久久久久久91| www.亚洲男人天堂| 国语自产偷拍精品视频偷| 亚洲成人久久网| 欧美另类暴力丝袜| 精品国产欧美一区二区五十路| 国产成人激情视频| 国产精品久久中文| 国产精品久久久久久久久粉嫩av| 在线视频欧美日韩| 国产精品久久久精品| 国产精品久久久久久久久久久久| 日韩精品有码在线观看| 亚洲一区二区三区sesese| 精品亚洲一区二区三区四区五区| 亚洲久久久久久久久久| 北条麻妃一区二区在线观看| 亚洲а∨天堂久久精品喷水| 97av在线视频免费播放| 欧美最猛性xxxxx(亚洲精品)| 国产亚洲一区精品| 日韩大胆人体377p| 色与欲影视天天看综合网| 久久视频在线看| 久久琪琪电影院| 国产成人福利夜色影视| 亚洲第一区中文字幕| 中文字幕欧美日韩精品| 久久99视频精品| 国产成人鲁鲁免费视频a| 欧美在线视频一区二区| 欧美一级淫片videoshd| 一本色道久久综合狠狠躁篇怎么玩| 欧美性生交xxxxxdddd| 中文字幕亚洲图片| 国产69精品久久久久久| 亚洲国产日韩欧美在线图片| 日韩欧美一区视频| 国产成人精品久久久| 欧美香蕉大胸在线视频观看| 欧美日韩加勒比精品一区| 黑人狂躁日本妞一区二区三区| 国模私拍一区二区三区| 97久久久久久| www.日本久久久久com.| 欧美大奶子在线| 国产精品精品国产| 久久成年人免费电影| 国产综合香蕉五月婷在线| 欧美另类精品xxxx孕妇| 亚洲最大福利视频| 成人免费淫片视频软件| 国产自产女人91一区在线观看| 久久久久久久久久久免费精品| 欧美乱大交xxxxx| 欧美一级电影在线| 国产女人精品视频| 日韩欧美主播在线| 久久精品国亚洲| 国产精品久久久久久久久免费| 色爱av美腿丝袜综合粉嫩av| 久久人人爽人人爽爽久久| 77777少妇光屁股久久一区| 美女福利精品视频| 伊人亚洲福利一区二区三区| 日韩欧美在线视频免费观看| 国产精品高潮视频| 亚洲黄色www网站|