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

首頁 > 編程 > JSP > 正文

Hibernate 查詢方式總結

2024-09-05 00:21:21
字體:
來源:轉載
供稿:網友
get() and load() HQL 等查詢方式

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
亚洲精品v天堂中文字幕| 97热在线精品视频在线观看| 国产成一区二区| 一区二区三区在线播放欧美| 欧美一级淫片播放口| 久久欧美在线电影| 久久久人成影片一区二区三区| 欧美日韩aaaa| 日本久久精品视频| 在线视频免费一区二区| 亚洲在线观看视频网站| 中文字幕v亚洲ⅴv天堂| 欧美性高跟鞋xxxxhd| 久久久久久久久91| 久久韩剧网电视剧| 久久精品国产久精国产思思| 91精品免费视频| 91黑丝高跟在线| 久久精品视频va| 日本久久久久久久久久久| 亚洲欧洲中文天堂| 亚洲91精品在线| 伊人一区二区三区久久精品| 欧美电影电视剧在线观看| 91在线视频成人| 两个人的视频www国产精品| 国产精品27p| 成人免费福利视频| 久久久久久一区二区三区| 国产91精品高潮白浆喷水| 51精品在线观看| 丝袜一区二区三区| 久久香蕉国产线看观看网| 亚洲毛茸茸少妇高潮呻吟| 欧美国产日韩一区二区三区| 91精品美女在线| 久久精品国产91精品亚洲| 国产精品成av人在线视午夜片| 亚洲综合日韩中文字幕v在线| 亚洲欧美日韩中文在线制服| 九九热视频这里只有精品| 国产精品美女av| 亚洲自拍在线观看| 欧美精品18videosex性欧美| 最近中文字幕2019免费| 欧美天天综合色影久久精品| 国产亚洲欧美视频| 在线播放国产一区中文字幕剧情欧美| 亚洲男人天堂2024| 亚洲综合在线播放| 成人免费福利在线| 欧美尺度大的性做爰视频| 日韩视频―中文字幕| 91精品视频在线看| 久久久成人的性感天堂| 欧美激情第一页xxx| 亚洲精品欧美日韩专区| 欧美中文在线免费| 国产精品久久久久高潮| 欧美区在线播放| 成人免费自拍视频| 久久精品久久久久久| 日韩亚洲精品电影| 欧美成人精品不卡视频在线观看| 欧美老少做受xxxx高潮| 亚洲自拍偷拍第一页| 欧美老女人性视频| 国产精品扒开腿做| 热久久美女精品天天吊色| 色综合久久中文字幕综合网小说| 日韩av理论片| 成人久久18免费网站图片| 高清亚洲成在人网站天堂| 久久精品在线视频| 国外成人在线视频| 亚洲天堂成人在线| 国产精品视频男人的天堂| 69久久夜色精品国产7777| 亚洲a中文字幕| 国产精品久久久久久久久免费看| 亚洲一级免费视频| 欧美一级片久久久久久久| 国产欧美日韩精品专区| 久久久欧美精品| 色偷偷偷亚洲综合网另类| 亚洲福利视频久久| 欧美午夜电影在线| 亚洲第一福利在线观看| 亚洲影影院av| 在线亚洲欧美视频| 91啪国产在线| 欧美激情图片区| 在线观看91久久久久久| 日韩中文字幕久久| 成人免费直播live| 成人a级免费视频| 91精品国产综合久久久久久久久| 亚洲第一精品夜夜躁人人躁| 国产不卡在线观看| 日韩欧美视频一区二区三区| 亚洲欧洲av一区二区| 久久久久久久久久久亚洲| 成人午夜高潮视频| 欧美老少做受xxxx高潮| 成人精品视频99在线观看免费| 日韩美女免费观看| 久久天天躁夜夜躁狠狠躁2022| 97视频免费看| 精品色蜜蜜精品视频在线观看| 亚洲91精品在线| 91精品视频免费看| 国产欧美日韩精品在线观看| 91精品国产高清| 亚洲欧洲日本专区| 爱福利视频一区| 亚洲自拍小视频免费观看| 国产精品视频26uuu| 亚洲成人久久网| 欧美伊久线香蕉线新在线| 亚洲天堂第一页| 成人高h视频在线| 亚洲精品国产电影| 亚洲男人第一网站| 亚洲成年人在线播放| 亚洲福利精品在线| 亚洲精品久久久久久久久久久久| 国产精品亚洲激情| 91极品女神在线| 国产日韩欧美在线视频观看| 国语自产在线不卡| 国产成人高潮免费观看精品| 日韩激情视频在线播放| 欧美大片欧美激情性色a∨久久| 国产精品看片资源| 亚洲精品国产电影| 国产精品女视频| zzjj国产精品一区二区| 国产在线999| 91精品在线一区| 国产精品大陆在线观看| 欧美日韩激情美女| 欧美日韩激情视频8区| 国产成人综合av| 国产999精品久久久| 亚洲国产又黄又爽女人高潮的| 久久久精品国产亚洲| 国产精品电影一区| 国产精品久久97| 一区二区欧美亚洲| 狠狠躁夜夜躁久久躁别揉| 国产精品吊钟奶在线| 久久69精品久久久久久久电影好| 日韩在线视频导航| 97视频免费在线看| 狠狠躁夜夜躁久久躁别揉| 国产主播欧美精品| 欧美乱大交xxxxx| 搡老女人一区二区三区视频tv| 欧美巨大黑人极品精男| 中文字幕成人在线| 国产在线视频2019最新视频| 欧美日韩免费网站| 欧美亚洲一级片| 最近2019年手机中文字幕|