詳細は、Entity一般的に使用されるコメントを次のjavax.persistence。
春データJPAは、私たちはうまくデータパッケージを操作するために役立っているが、大会は思考の設定、デフォルトで私たちを助けるために多くのことよりも大きくなっています。JPA(Javaの永続API)は、ソース・ストレージ・ビジネスエンティティに関連するエンティティです。これは、エンティティ間の関係の標準のセットと管理を提供する方法と同様に、エンティティのような共通のオブジェクト指向のJava(POJO)を定義する方法を示しています。そのため、いくつかのjavax.persistence以下のノートはまだ良い作業効率を改善するために理解する必要がなければなりません。
1.基本的な注意事項
基本注解包括エンティティ@、表@、同上@、@ IdClass、@ GeneratedValue、@基本、一時、@コラム、@一時的な@、列挙@、@ロブ
1.1@Entity
@Entity定義されたオブジェクトは、JPAエンティティによって管理される、指定されたデータベース・テーブルにマップされます。
1.2@Table
データベーステーブルの名前を指定し@table。
1.3@Id
@Idは、エンティティを持っている必要があり、主キー属性データベースとして定義されます。
1.4@IdClass
外部クラスの主キーを使用して@IdClass。
主キークラスとラインのように、次の要件を満たすことができます。
私たちは、Serializableインタフェースを実装する必要があります。
国民は引数なしのデフォルトコンストラクタを持っている必要があります。
あなたは、等号とhashCodeメソッドをオーバーライドする必要があります。エンティティによってEntityManger戻りの値を決定するためにequalsメソッドを見つけることを見つけたとき、2つのオブジェクトが同一であるか否かを判定するための方法に等しいです。本実施形態では、オブジェクトの名前だけでとそうでない場合は、値trueをメール同じ場合、または同一のオブジェクトを返し偽。hashCodeメソッドは、現在のオブジェクトのハッシュコード、できるだけ小さな同じハッシュコードを生成する確率を返し、このアルゴリズムを最適化することができます
1.5 @GeneratedValue
主キーの生成方法@GeneratedValue
次の4つの値の合計をGenerationType:
1.6 @Basic
@Basic属性がデータベーステーブル内のフィールドにマッピングされ表します。フィールドがエンティティの場合は任意のコメントを持っていない場合、デフォルトは@Basicです。
1.7 @Transient
@Transientは、それが表す、プロパティは、データベーステーブルのフィールドにマップされていないことを示す非永続的属性を、及び@Basic逆効果。JPAマッピングデータベースは、ときにそれを無視します。
1.8 @Column
属性に対応する@Column列名は、データベースに定義されています
1.9@Temporal
日付@Temporalは、対応する精度にマッピングされたタイプの属性フィールドを設定するために使用されます。
(1)@Temporal(TemporalType.DATE)は日付∥date(のみにマッピングされた日付)
(2)@Temporal(TemporalType.TIME)は日付∥time(時間のみ)にマッピングされました。
(3)@Temporal(TemporalType.TIMESTAMP)は日付∥datetime(日付+時間)にマッピングされます。
1.10@Enumerated
列挙型enumフィールドの直接マッピング
1.11@Lob
プロパティは、データベース・サポートラージ・オブジェクト・タイプにマップされ@Lobは、次の2つのいくつかのサポートフィールドのデータベースタイプを。
(1)CLOB(キャラクタ・ラージOjects ) 、長い文字列の種類を入力するのjava.sql.Clobは、文字[]は、[] char型およびCLOB文字列クラスにマップされるタイプ。
(2)BLOB(バイナリラージオブジェクト ) の種類は、バイト型であるのjava.sql.Blob、バイト[]、バイト[]種類とSerializableインタフェースを実装してBLOB型にマッピングされます。
(3)一般的で、占有CLOB、BLOB大きなメモリ空間@Basicは、(= FetchType.LAZYフェッチ)ロードを遅延させるために設定すること。
2.関連のメモ
JoinColumn関係注釈は、@、@ OneToOne、OneToMany @含ん[並べ替え@、@ ManyToOne、@多対多、JoinTable @を。
2.1 @JoinColumnは、外部キーフィールド名を定義します
使用法:主に、@ OneToOne、@ ManyToOneと@JoinColumn、@OneToMany一緒に使用し、一人で使うには意味がありません。
@JoinColumnsは、複数のフィールドの関係を定義しました。
2.2 @OneToOne関係
使用法:@OneToOneを併用@JoinColumnを満たしている必要があります。注:双方向の関連付けをすることができ、あなたは一つだけのパーティを構成することができ、あなたは、実際の需要に応じて、必要があります。