posts - 120,  comments - 19,  trackbacks - 0
          一、一對多映射
          1、在映射一對多的雙相關聯關系時,應該在one方把inverse屬性設為true,可以提高應用的性能。
          2、建立兩個對象的雙向關聯時,應該同時修改關聯兩端的對象的應用屬性,這樣使程序更加健壯,提高業務邏輯層的獨立性,使業務邏輯層的程序代碼不受hibernate實現的影響;同理,當解除雙相關聯關系時,也應該修改關聯兩端的對象的相應屬性。
          eg://添加
          customer.getOrders().add(order);
          order.setCustomer(customer);
          //刪除
          customer.getOrders().remove(order);
          order.setCustomer(null);
          3、在定義一對多映射中“一”的POJO類時,注意要private Set orders?= new HashSet();//通常把它初始化為集合實現類的一個實例,這樣避免訪問取值為null,引發NullPointerException異常,提高健壯性。
          二、Session三種檢索方法:
          1.load():根據給定OID從數據庫中加載一個持久化對象,如數據庫中沒有則拋出net.sf.hibernate.ObjectNotFoundException異常。
          2.get():根據給定OID從數據庫中加載一個持久化對象,如數據庫中沒有則返回null。
          3.find():按照參數指定的HQL語句加載一個或多個持久化對象,實際是HQL檢索方式的一種簡寫形式。
          三、hql查詢:
          在數組和Collection中的查詢:
          String hql = "select??u from?User u where u in (:users)";
          query.setParameterList("users", users);
          //括號千萬別忘寫,否則出現如下錯誤:
          2006-07-07 11:07:35 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 907, SQLState: 42000
          2006-07-07 11:07:35 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-00907: 缺失右括號

          posted on 2006-08-16 15:37 阿成 閱讀(424) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 榆社县| 文水县| 德保县| 双城市| 浙江省| 平度市| 黄浦区| 新泰市| 靖江市| 团风县| 彭阳县| 鱼台县| 绥德县| 宁夏| 新干县| 云阳县| 双流县| 内江市| 东明县| 定陶县| 临武县| 兰西县| 阜宁县| 额敏县| 珠海市| 蛟河市| 石景山区| 冕宁县| 吉安市| 类乌齐县| 沂水县| 张掖市| 余江县| 泽普县| 临沭县| 黄石市| 双桥区| 宜良县| 疏勒县| 许昌市| 内乡县|