隨筆 - 0, 文章 - 75, 評論 - 0, 引用 - 0
          數據加載中……

          Annotation版本的HelloWorld

          在Hibernate3.0以后,開始支持Annotation


          Annotation的標準是,建立一個符合JTA標準的Annotation


          下載hibernate-annotations-3.4.0.GA工具包后


          項目添加:


          hibernate-annotations.jar --最核心


          lib/ejb3-persistence.jar --符合了JTA標準的Annotation


          lib/hibernate-comments-annotations.jar --進行反射時的Annotation



          @Entity表示實體類


          @Id 標識主鍵


          注意是javax.persistence.*; 下



          首先創建DB表:Teacher


          id  number


          name  varchar2(20)


          title  varchar2(20)



          編寫Teacher類:


          Annotation版本的HelloWorld


          //省略更多的getter/setter方法



          注意,@Id寫在getId()方法前,防止屬性id名字與getId方法的名字不匹配。如id 和getTeacherId()方法



          配置hibernate.cfg.xml文件:


          Annotation版本的HelloWorld


          注意這里的<mapping class="類名全路徑" />



          最后測試:


          public static void main(String[] args) {
          Teacher t = new
          Teacher();
          t.setId(1);
          t.setName("王五");
          t.setTitle("中級");
          Configuration
          conf = new AnnotationConfiguration();
          //注意這里使用的是AnnotationConfiguration
          conf.configure();
          SessionFactory
          factory = conf.buildSessionFactory();
          Session session =
          factory.openSession();
          session.beginTransaction();
          session.save(t);
          session.getTransaction().commit();
          session.close();
          factory.close();
          }



          只有new AnnotationConfiguration()不一樣,其余操作都一樣


          用Annotation配置javaBean可省略Teacher.hbm.xml的映射文件,操作也方便,你認為呢?



          最后:Hibernate-Annotation文檔中的小錯誤:


          沒有加入hibernate-commen-annotations.jar包



          MyEclipse 輸入 @ 不給提示時:


          window、references、搜content assist、在 activation for java 欄加入"@"


          也可以控制delay屬性,延遲修改為100則提示很快



          解決問題時間:


          問題類型:


          java.lang.IllegalAccessError: tried to access field
          org.slf4j.impl.StaticLoggerBinder.SINGLETON from class
          org.slf4j.LoggerFactory

          需下載slf4j.jar包


          加載\slf4j-1.6.4\integration\lib 下的
          slf4j-api-2.0.99.jar和slf4j-nop-1.5.6.jar

          refresh,clear,run


          Exception in thread "main"
          org.hibernate.exception.ConstraintViolationException: Could not execute
          JDBC batch update
          Caused by: java.sql.BatchUpdateException: ORA-00001: unique
          constraint (HT.TEACHER_PK_ID) violated


          重復執行時,注意DB主鍵不能重復

          posted on 2012-04-22 15:58 hantai 閱讀(166) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宝兴县| 永安市| 龙川县| 馆陶县| 离岛区| 拜城县| 永嘉县| 玛沁县| 普陀区| 恩平市| 福泉市| 琼结县| 曲麻莱县| 彭水| 平湖市| 乐安县| 建平县| 鹤岗市| 丰宁| 固安县| 剑河县| 温泉县| 思南县| 邹城市| 长岛县| 隆林| 绵竹市| 射阳县| 资中县| 大丰市| 彭州市| 五台县| 石狮市| 中宁县| 保德县| 辉县市| 深圳市| 黎平县| 屏山县| 汉阴县| 永德县|