JPAのアノテーションは、一般的に、デフォルトの抽象メソッド継承されたメソッドやキーワードが使用されています

A、共通でJPA注釈:

1、エンティティ@:上記のクラス名タグ、実体クラスのアイデンティティとして;

表@ 2、:テーブル名とそのマップされたエンティティ・クラスが同じ必要@Tableラベルの指示ではありません、

  エンティティクラス宣言文に配置された並列で使用するラベルとラベル@Entityは、別々のステートメント行で記述することができます前に、

  あなたは宣言文で歩くことができます。

  @Tableマークされ、共通のオプションは、データベーステーブルの名前を示すために使用される、名前です。

  モード設定表が属するデータベースディレクトリまたはのためにマークされ@Table二つのオプションカタログとスキーマもあり、

  通常、データベース名。セットの制約をuniqueConstraintsオプション、通常は提供されません。

図3は、同上@:提供された識別子オブジェクト、対応テーブルの主キー属性マッピングエンティティクラス識別子を表します。

4は、@ GeneratedValue:セット識別子生成戦略は、多くの場合、@Idと組み合わせて使用​​されます。

  パラメータ:戦略は、特定の生成戦略を指定します。

  方法1:@GeneratedValue(戦略= GenerationType.AUTO)は、デフォルトの戦略であります

       それはまた、@GeneratedValueのように書くことができ、休止状態にするネイティブの戦略と同様に、

      生成された、基礎となるデータベースに依存します。

  方式二:@GeneratedValue(戦略= GenerationType.IDENTITYを)
      MySQLのための「自動拡張」戦略を指定します。
  方式三:@GeneratedValue(戦略= GenerationType.SEQUENCE、ジェネレータ=「seqtblperson」)
      一般ジェネレータ名ジェネレータを表しオラクル、で使用される「配列」戦略を、指定します。しかし、また、指定されました
      @SequenceGenerator(名=「seqtblperson」、sequenceName =「seqtblperson」、allocationSize = 1)
      関連して使用されるノート。前記名前は、発電機(ジェネレータの値と同じ)の名前を指定し、
      データベース配列に定義された名前、allocationSize特定の配列1の各増加を指定sequenceName。
5、@コラム:説明フィールドに定義されたデータベースのテーブルには、次のプロパティがあります。
  (1)名称:デフォルトの状況は、一貫した属性名で、データベーステーブルのフィールドの名前を示します。
  (2)NULL可能:このフィールドは、デフォルトがtrueの場合、ヌルを許可するかどうかを示します。
  (3)ユニーク:デフォルトはfalseで、フィールドは一意の識別子であるかどうかを示します。
  (4)長さ:フィールドのみString型に対して有効であり、フィールドのサイズを示します。
  (5)に挿入:フィールドはINSETRT文を表示するかどうか、ORMフレームの挿入操作で言った、デフォルトはtrueです。
  (6)更新可能:ORMフレームワークは、デフォルトはtrueで、フィールドがUPDATE文で表示するかどうか、更新操作で述べています。一度に変更することはできません作成されたフィールドの場合、プロパティは、このような誕生日のフィールドと同様に、便利です。
  (7)columnDefinition:データベース内のフィールドの実際のタイプを表します。通常、ORMフレームワークは、自動的にデータベース内の属性タイプのフィールドの種類を決定することができるが、それでもDATE、TIME、またはTIMESTAMPか日付フィールド型データベースのタイプを決定することができません。また、String型VARCHARのデフォルトのマッピングは、あなたが特定のデータベースのBLOBまたはTEXTフィールドタイプにマップされている文字列型にしたい場合は、プロパティは非常に便利です。
  (8)@OrderBy:データ列をロードするときに割り当てることができます。
  (9)@Transient:この属性は、データベーステーブル内のフィールドにマッピングされていない示し、ORMフレームワークは、属性を無視します。プロパティは、フィールドマッピングデータベーステーブルではない場合。@Transientとしてそれをマークしてください。それ以外の場合。ORMフレームワークは、デフォルトとして注釈@Basic
第二に、デフォルトの継承されたメソッド:
  図1に示すように、スプリングデータJPAサブ - 春データ技術、JPA春データのみ缶JpaRepositoryインターフェースデータアクセスインタフェースレイヤを必要とするデータにアクセスするために使用されます。JpaRepositoryインタフェースはPagingAndSortingRepository、QueryByExampleExecutorインターフェースを拡張するので、彼らのCRUD操作機能を持っています。
  図2に示すように、従来のインターフェース方式。
  

 

 第三に、キーワードの抽象メソッド:

  1、メソッドの命名規則:

    キーワードによって接続された(1)の条件属性条件。

    最初の文字(2)の条件プロパティは大文字でなければなりません。

  2、名前が付けられ、ケースを説明しました:

  

  (1)そして - そして、このようなfindByUsernameAndPassword(文字列のユーザー、StriangのPWD)と同等のSQLキーワードは、ユーザー名とパスワードを検索します。 

  (2)または - SQL内と同等またはキーワード、などfindByUsernameOrAddressとして(文字列のユーザー、文字列addrの)ユーザー名や住所を検索。

  ;クエリの間と最大最小を支払う、SQLのキーワードの間に相当なfindBySalaryBetween(int型の最大値、整数分) - の間(3) 

  (4)LessThan - SQLの等価 "<" は、findBySalaryLessThan(INT max)は、 

  (5)演算子:GreaterThan - SQLに相当する ">" は、findBySalaryGreaterThan(int型分)。

  (6)のIsNull - SQLに相当するが、そのようなfindByUsernameIsNull() "NULLです"。 

  (7)IsNotNull - SQL、例えばfindByUsernameIsNotNull() "NULLでない" に相当します。 

  (8)NOTNULL - 及びIsNotNull同値。

  (9)のように - そのようなfindByUsernameLike(文字列のユーザ)、 "好き" のSQL同等; 

  (10)NotLike - のSQL同等 "ではないような"、例えばfindByUsernameNotLike(文字列ユーザ); 

  (11)[並べ替え - 、例えばfindByUsernameOrderBySalaryAsc(文字列ユーザ)SQL「順」に相当します。 

  (12)なし - 、SQLと等価なfindByUsernameNot(文字列のユーザー); "!="

  (13) - 「の」SQLの等価物、例えばfindByUsernameIn(コレクションユーザーリスト)、パラメータタイプ収集方法があってもよいし、配列変数の長さのパラメータであってもよいです。 

  (14)NotIn - 「NOT IN」のSQL等価物、例えばfindByUsernameNotIn(コレクションユーザーリスト)、パラメータタイプ収集方法があってもよいし、配列変数の長さのパラメータであってもよいです。 

 

 

おすすめ

転載: www.cnblogs.com/szcy/p/12594290.html