編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks
          1.類庫:
          apache的commons除外
           <classpathentry kind="lib" path="test/lib/hibernate3.jar"/>
           <classpathentry kind="lib" path="test/lib/hibernate-entitymanager.jar"/>
           <classpathentry kind="lib" path="test/lib/jboss-archive-browsing.jar"/>
           <classpathentry kind="lib" path="test/lib/dom4j-1.6.1.jar"/>
           <classpathentry kind="lib" path="test/lib/hibernate-annotations.jar"/>
           <classpathentry kind="lib" path="test/lib/hibernate-commons-annotations.jar"/>
           <classpathentry kind="lib" path="test/lib/javassist.jar"/>
           <classpathentry kind="lib" path="test/lib/cglib-2.1.3.jar"/>
           <classpathentry kind="lib" path="test/lib/asm.jar"/>
           <classpathentry kind="lib" path="test/lib/asm-attrs.jar"/>
           <classpathentry kind="lib" path="test/lib/antlr-2.7.6.jar"/>

          2.persistence.xml
           <persistence-unit name="rmp" transaction-type="RESOURCE_LOCAL">
            <provider>org.hibernate.ejb.HibernatePersistence</provider>
            <properties>
             <property name="hibernate.show_sql" value="true" />
             <property name="hibernate.format_sql" value="true" />
             <property name="hibernate.dialect"
              value="org.hibernate.dialect.Oracle9iDialect" />
             <property name="hibernate.connection.driver_class"
              value="oracle.jdbc.OracleDriver" />
             <property name="hibernate.connection.url"
              value="jdbc:oracle:thin:@172.16.3.3:1521:ngrm" />
             <property name="hibernate.connection.username" value="xxx" />
             <property name="hibernate.connection.password"
              value="xxx123" />
            </properties>
           </persistence-unit>
          3.問題
          1.重復屬性映射問題,特別煩
          @MapSuperClass
          public class A {
              @Transistence
              public String getA11()
              }
          }

          @Entity
          @Table(name="...")
          public class AA extends A {
             @Transistce
             @Override
             public String getA11() {

             }
          }
          要定義兩次@Transistce
          2.new 構造器問題
          select distinct new com.xxx.A(a.id, a.ss) from AA a where a.ddd=?1 and ..

          為啥一定要采用通用構造器來裝載數據?這樣最致命的問題是如果一天要改SQL,則要改構造函數,并且如果選出來的字段比較多,構造函數就沒法看懂了

          完全可以通過缺省構造器實例化,通過其它方式來設值.
          其實這一點就是openJPA也沒有解決好,主要是不支持別名造成的

          3.uuid-hex主鍵生成器,為啥要用
           @GeneratedValue(generator = "system-uuid")
           @GenericGenerator(name = "system-uuid", strategy = "uuid.hex"),該處要引入一個Hibernate的類,以后就只能在職Hibernate的JPA上跑了,受限
          而OpenJPA只用 @GeneratedValue(generator = "uuid-hex")要簡單一些

          4.優點
          1. 驗證器部分,但標記也實在太多了,我現在有點討厭它
          posted on 2007-09-30 17:08 wilesun 閱讀(3843) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 白水县| 株洲市| 宁国市| 西峡县| 荔波县| 太保市| 泸水县| 宁乡县| 察隅县| 泰安市| 台前县| 舞阳县| 万安县| 苍南县| 桓仁| 桂平市| 石柱| 五河县| 图片| 兴义市| 紫阳县| 当阳市| 洛隆县| 裕民县| 卢湾区| 洪湖市| 稻城县| 侯马市| 分宜县| 天门市| 浦江县| 永修县| 安义县| 嘉善县| 股票| 娱乐| 临澧县| 成武县| 东光县| 临武县| 呼伦贝尔市|