JPA @Idと@GeneratedValue @Table注釈

データベースの属性マッピングエンティティクラスの主キー列を宣言するための@Id注釈。このプロパティは、通常宣言の対応と、プロパティ宣言の前に配置され、また別の行に書き込むことができます。
@GeneratedValue:
一般的なMySQLデータベースの自動インクリメント主キー(戦略= GenerationType.IDENTITYを時)@GeneratedValue
GeneratedValue主キーの生成方法を提供@(1)、主エンティティとしてGeneratedValueノート@存在の意味は、その一意に識別する主キーを生成します。

(2)@ GeneratedValueアノテーション2つの属性、すなわち、戦略および発電有する
発電特性を:

generator属性的值是一个字符串,默认为"",其声明了主键生成器的名称
(对应于同名的主键生成器@SequenceGenerator和@TableGenerator)。

財産戦略:4つの値を提供します。

-AUTO主键由程序控制, 是默认选项 ,不设置就是这个
 
-IDENTITY 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
 
-SEQUENCE 通过数据库的序列产生主键, MYSQL  不支持
 
-Table 提供特定的数据库产生主键, 该方式更有利于数据库的移植

注:@GeneratedValueは、追加のパラメータを必要としないデフォルトが、データベース制御インクリメントの主キー(AUTO_INCREMENT)場合は、何のパラメータが与えられない
MyBatisのInsertOrUpdate使用している場合@GeneratedValue(戦略= GenerationType.IDENTITYを)
にON DUPLICATE KEY UPDATE時間を対応するエンティティクラスにこのコメントを追加

@Tableアノテーションは、対応するデータベーステーブルにエンティティがいることを示し
、これらのアノテーションはのjavax.persistenceパッケージの内側にあります

公開された80元の記事 ウォンの賞賛140 ビュー640 000 +

おすすめ

転載: blog.csdn.net/linjpg/article/details/99876573