乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Hibernate Annotation應(yīng)用介紹一...

       iversion 2007-12-07
       EJB3注釋進行映射

       

        現(xiàn)在EJB3實體Bean是純粹的POJO。實際上表達了和Hibernate持久化實體對象同樣的概念。他們的映射都通過JDK5.0注釋來定義(EJB3規(guī)范中的XML描述語法至今還沒有定下來)。注釋分為兩個部分,分別是邏輯映射注釋和物理映射注釋,通過邏輯映射注釋可用描述對象模型,類之間的關(guān)系等等,而物理映射注釋則描述了物理的schema,表,列,索引等等。下面外面在代碼中將混合使用這兩種類型的注釋

       

      (一)聲明實體

      @Entity

      POJO@Entity進行實體注釋

      @Table

              @Table是類的一級注釋,通過它可用為實體指定表(Table),目錄(Catalog),和schema的名字,如果沒有@Table,那么系統(tǒng)自動使用默認值:實體的短類名(不帶包名)

      @Version

              可用在實體Bean中使用@Version添加樂觀鎖支持。

              根據(jù)EJB3規(guī)范,Version列可以使用numeric類型(推薦方式)也可以使用timestamp類型。Hibernate支持任何自定義類型,只要該類型實現(xiàn)了UserVersionType.

       

      (二)映射簡單屬性

      實體Bean中的所有非static、非transient的屬性都可以被持久化。同時使用@Transient對屬性進行注解同樣不不會被持久化。

      @Column

      使用@Column可將屬性映射到列。

      @Column(name = “列名” length = 長度)

      例如:

         @Column(name = NAME length = 20)

         public String getName() {

           return this.name;

      }

       

      注意:

        當(dāng)POJO用有屬性不需要映射的時候一定要用@Transient修飾  

              @Lob注解表示將屬性持久化為Blob或者Clob類型,具體取決于屬性的類型,java.sql.Clob,Character[ ] char[] java.lang.String這些屬性都被持久化為Clob類型,而java.sql.Blob,Byte[],byte[] serializable類型在被持久化為Blob類型

       

      (三)映射主鍵屬性

      @Id

      使用@Id注解可以將實體Bean中的某個屬性定為為標(biāo)識符(identifier)。該屬性值可以通過應(yīng)用自身創(chuàng)建,也可以通過Hibernate生成(推薦)。使用@GeneratedValue注釋利用定義標(biāo)識符的生產(chǎn)策略:

       

      *AUTO        可以是一下三種任意一種類型,取決于地層數(shù)據(jù)庫的不同

      *TABLE       使用表保存id

      *IDENTITY    identity column

      *SEQUENCE   sequence

       

      @Id

      @GeneratedValue(strategy = GenerationType.IDENTITy)

      Public Integer getId() {… …}

       

      Hibernate的應(yīng)用中提供了更加豐富的主鍵生產(chǎn)策略。

      @org.hibernate.annotations.GenericGeneracor允許定義一個Hibernate特定的id生成器。

      :

       

      @Id 
      @GeneratedValue(generator 
      = "system-uuid")[該屬性名自定義]
      @GenericGenerator(name 
      = " system-uuid ", strategy = "uuid")
      [name可自定義,但是strategy屬性必須是Hibernate中有效的主鍵策略]
      @Column (name 
      = "user_id")
       
      private Integer userId;

       

      @Id 
      @GeneratedValue(generator 
      = "hilo")
      @GenericGenerator(name 
      = "hilo", strategy = "hilo")
      @Column (name 
      = "user_id")
      private Integer userId;

       

       

       



      Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1561685

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多