走在架構師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術,軟件架構,領域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks

           EJB3 就靠注釋吃飯了,總結一下以備后查。

          1. @Id 顯示聲明屬性為標識符
          2. @GeneratedValue(strategy=GenerationType.IDENTITY) 表示主鍵是自動生成策略,strategy 有很多

             選擇 IDENTITY 是針對 SQLSERVER 等數據的。一般該注釋和 @Id 合用
          3. @Entity 任何 Entity Bean 都要有次注釋
          4. @Table(name = "Order") 類和 Table 對應聲明
          5. @Column(name = "Name",nullable=false,length=32) 和 ORM 產品的 Mapping file 一樣,聲明數據

             庫字段和類屬性對應關系,其他選項是一樣的,看看就知道了。
          6. @Lob
             @Basic(fetch=FetchType.LAZY) 聲明字段為 Clob 或 Blob 類型,并且要 Lazy 加載。
          7. @PersistenceContext 往 SessionBean 中注入 EntityManager 對象
          8. @OneToMany(mappedBy="order",cascade = CascadeType.ALL, fetch = FetchType.LAZY)
             @OrderBy(value = "id ASC")
             一對多聲明,和 ORM 產品聲明類似,一看就明白了。
             @ManyToOne(cascade=CascadeType.REFRESH,optional=false)
             @JoinColumn(name = "order_id")
             聲明為雙向關聯
          9. @Temporal(value=TemporalType.DATE) 做日期類型轉換。
          10.@OneToOne(optional = true,cascade = CascadeType.ALL, mappedBy = "person")
             一對一關聯聲明
             @OneToOne(optional = false, cascade = CascadeType.REFRESH)
             @JoinColumn(name = "Person_ID", referencedColumnName = "personid",unique = true)
             聲明為雙向關聯
          11.@ManyToMany(mappedBy = "students")
             多對多關聯聲明。
            @ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
            @JoinTable(name = "Teacher_Student",
              joinColumns = {@JoinColumn(name = "Teacher_ID", referencedColumnName = "teacherid")},
              inverseJoinColumns = {@JoinColumn(name = "Student_ID", referencedColumnName =
              "studentid")})
             多對多關聯一般都有個關聯表,是這樣聲明的!
          12.@TransactionAttribute(TransactionAttributeType.REQUIRED)
             事務聲明
          13.@ApplicationException(rollback=true) 定義回滾異常
          14.@PostLoad
             @PrePersist
             @PostPersist
             @PreUpdate
             @PostUpdate
             @PreRemove
             @PostRemove
             SessionBean 的生命周期的回調方法
          15.繼承聲明策略1
             @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
             @DiscriminatorColumn(name="Discriminator",
               discriminatorType = DiscriminatorType.STRING,
               length=30)
             @DiscriminatorValue("Vehicle")
             繼承聲明策略2
             @Inheritance(strategy=InheritanceType.JOINED)
             @Table(name="Vehicle")
             繼承聲明策略3
             @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
             @Table(name="Vehicle")
          16. WebService 開發
              @WebService(name = "HelloWorld",
              targetNamespace = "http://com.jack.test", serviceName = "HelloWorldService")
              @SOAPBinding(style = SOAPBinding.Style.RPC)
              @WebMethod





          本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
          posted on 2008-06-05 22:34 Jack.Wang 閱讀(3205) 評論(2)  編輯  收藏

          Feedback

          # re: EJB3.0 注釋小結 2008-06-05 22:46 小武
          不錯的總結,來支持一下.

          http://www.laoge.info/




            回復  更多評論
            

          # re: EJB3.0 注釋小結 2008-06-10 14:50 jdlsfl
          支持  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 广平县| 察哈| 梅河口市| 浏阳市| 建水县| 阳新县| 永定县| 合川市| 苏尼特右旗| 仁布县| 抚顺市| 昌邑市| 邵武市| 建湖县| 木兰县| 文化| 手机| 辽宁省| 甘谷县| 安西县| 宁陵县| 滕州市| 晋州市| 咸宁市| 北宁市| 陆河县| 石城县| 普定县| 济阳县| 宜君县| 枣强县| 株洲县| 府谷县| 彰化县| 定陶县| 巫山县| 特克斯县| 静安区| 中方县| 崇州市| 独山县|