tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,new Long(1));
if(!Hibernate.isInitialized(customer))
Hibernate.initialize(customer);
tx.commit();
session.close();
customer.getName();
浠ヤ笂浠g爜鍦⊿ession鑼冨洿鍐呴氳繃Hibernate綾葷殑initialize()鏂規硶鏄懼紡鍒濆鍖栦簡Customer浠g悊綾誨疄渚嬶紝鍥犳褰揝ession鍏抽棴鍚庯紝鍙互姝e父璁塊棶Customer娓哥瀵硅薄銆?/font>
鏂規硶 | 瑾槑 |
Restrictions.eq | 絳夋柤 |
Restrictions.allEq | 浣跨敤Map錛屼嬌鐢╧ey/value閫茶澶氬嬬瓑鏂肩殑姣斿皪 |
Restrictions.gt | 澶ф柤 > |
Restrictions.ge | 澶ф柤絳夋柤 >= |
Restrictions.lt | 灝忔柤 < |
Restrictions.le | 灝忔柤絳夋柤 <= |
Restrictions.between | 灝嶆噳SQL鐨凚ETWEEN瀛愬彞 |
Restrictions.like | 灝嶆噳SQL鐨凩IKE瀛愬彞 |
Restrictions.in | 灝嶆噳SQL鐨刬n瀛愬彞 |
Restrictions.and | and闂滀總 |
Restrictions.or | or闂滀總 |
Restrictions.sqlRestriction | SQL闄愬畾鏌ヨ |
==============
鍓嶉潰璁蹭簡Criteria鐪嬭搗鏉ユ瘮HQL欏虹溂澶氫簡錛屾帴鐫緇х畫銆?br />
濡傛灉姣忎釜緹庡コ閮芥湁鑷繁鐨勫鎴瘋祫婧愶紙涓嶈鎯蟲浜嗭紒錛夛紝閭d箞闇瑕佹煡璇㈡嫢鏈夊鎴稧ates鐨勭編濂蟲庝箞鍔烇紵
浣跨敤Criteria鍙互鏈変袱縐嶆柟娉曪細
1錛?br />
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class).createCriteria("customers");
beautyCriteria.add(Restrictions.eq("name", "Gates")):
2錛?br />
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class).createAlias("customers", "c");
beautyCriteria.add(Restrictions.eq("c.name", "Gates")):
鎺ョ潃鏈変簡鏂扮殑瑕佹眰錛屽勾綰お澶х殑緹庡コ涓嶈錛岃繕鏄煡鎵炬嫢鏈夊鎴稧ates鐨勶紝鏉′歡濡備笅錛?br />
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class, "b").;
DetachedCriteria customerCriteria = beautyCriteria.createAlias("customers", c");
beautyCriteria.add(Restrictions.le("b.age", new Long(20))):
customerCriteria.add(Restrictions.eq("c.name", "Gates")):
鍏充簬Criteria鏇磋緇嗙殑璧勬枡錛孒ibernate鐨勬簮浠g爜鍜屾祴璇曟槸鏈濂界殑鏂囨。銆?br />
Criteria鐨勭己鐐癸紵DBA寰堢敓姘旓紝鍚庢灉寰堜弗閲嶃?/p>