隨筆 - 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 中牟县| 沙湾县| 迁西县| 木兰县| 紫阳县| 许昌市| 饶河县| 黄石市| 大关县| 盐山县| 闽侯县| 吉首市| 特克斯县| 句容市| 建湖县| 洮南市| 新泰市| 郓城县| 崇明县| 黑水县| 亳州市| 邹平县| 汪清县| 镇安县| 咸宁市| 拜泉县| 游戏| 惠东县| 嫩江县| 九寨沟县| 浦东新区| 宾阳县| 保定市| 平乐县| 岚皋县| 宝山区| 当阳市| 云阳县| 洱源县| 和静县| 蚌埠市|