EJB3.0 注釋小結

來源:互聯網
上載者:User
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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.