@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface Entity
@Entity public class Employee { @Id @Column(name = "ID") Integer id; @Column(name = "EMPLOYEE_NAME") String employeeName; @Version @Column(name = "VERSION") int version; ... }
@Entity(immutable = true) public class Employee { @Id @Column(name = "ID") final Integer id; @Column(name = "EMPLOYEE_NAME") final String employeeName; @Version @Column(name = "VERSION") final int version; public Employee(Integer id, String employeeName, int version) { this.id = id; this.employeeName = employeeName; this.version = version; } ... }
注釈されたインタフェースの実装はスレッドセーフであることを要求されません。
修飾子とタイプ | 任意要素と説明 |
---|---|
boolean |
immutable
イミュータブルかどうかを返します。
|
java.lang.Class<? extends EntityListener> |
listener
リスナーを返します。
|
NamingType |
naming
ネーミング規約を返します。
|
public abstract java.lang.Class<? extends EntityListener> listener
この要素に値を指定しない場合、エンティティクラスが他のエンティティクラスを継承しているかどうかで採用する設定が変わります。
リスナーは、エンティティクラスごとに1つだけインスタンス化されます。
public abstract NamingType naming
この要素に値を指定しない場合、エンティティクラスが他のエンティティクラスを継承しているかどうかで採用する設定が変わります。