- EJB 3 Developer Guide
- Michael Sikora
- 303字
- 2021-07-02 11:34:55
Field-Based Annotations
Recall we used a property-based annotation for the primary key @Id
in the Customer entity. This results in the persistence engine using getter and setter methods to access and set the entity state. In this section we will modify the Customer entity to use field-based, rather than property-based annotations. The following listing demonstrates this:
@Entity public class Customer implements java.io.Serializable { @Id private int id; private String firstName; @Basic private String lastName; public Customer() {}; public Customer(int id, String firstName, String lastName){ this.id = id; this.firstName = firstName; this.lastName = lastName; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstname() { return firstName; } public void setFirstname(String firstName) { this.firstName = firstName; } public String toString() { return "[Customer Id =" + id + ",first name=" + firstName + ",last name=" + lastName + "]"; } }
Note that we have placed the primary key @Id
annotation immediately before the field declaration. If we use a field-based annotation then all other annotations, other than class level annotations such as @Entity
, must also be field-based annotations. In the case of field-based annotations the persistence engine will use reflection to access and set the entity state. Getter and setter methods may be present in the entity but they are ignored by the persistence engine. To demonstrate this point we have removed the getLastName()
and setLastName()
methods from the Customer entity.
We have seen that attributes other than the primary key are mapped to a database by default. We call these mappings basic mappings. A basic mapping is used where the attribute is a Java primitive type or any Serializable type such as a String
. We can explicitly flag these mappings using the @Basic
annotation. We have done this for the lastName
field.
- 中文版Photoshop CS6完全使用手冊(超值版)
- 現代企業應用設計指南
- 虛擬現實:開啟現實與夢想之門
- ABAQUS基礎入門與案例精通
- Unity 3D\2D手機游戲開發:從學習到產品(第4版)
- Photoshop CC UI設計標準培訓教程
- 3ds Max/VRay印象燈光/材質/渲染技術精粹Ⅲ
- Practical Data Analysis and Reporting with BIRT
- 企業虛擬化實戰:VMware篇
- 中文版AutoCAD 2021完全自學教程
- Photoshop CS6 中文版從入門到精通
- Photoshop+PxCook+Cutterman網頁UI設計教程
- Photoshop移動UI設計
- 案例學:Photoshop電商美工設計
- 邊做邊學:Photoshop CS6 圖像制作案例教程(第3版)(微課版)