![](https://riisaconsulting.co.jp/wp-content/uploads/2019/08/img02.jpg)
@GeneratedValue 備忘録
■@GeneratedValue
・主キーにユニークな値を生成、付与
・@Id を持つEntityクラスに適用する
・strategy属性:Entityクラスの主キー値の生成方法を指定
■strategy属性
【GenerationType.AUTO】
・データベースごとに適切な方法で主キーを生成
例)
@Entity
@Table(name=”cuatomers”)
public class Customers {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name=”id”)
private long id;
@Column(name=”first_name”)
private String firstName;
@Column(name=”last_name”)
private String lastName;
@Column(name=”password”)
private String password;
@Column(name=”email”)
private String email;
}
【GenerationType.IDENTITY】
・データベースのIdentity列を使って主キー値を生成
【GenerationType.SEQUENCE】
・データベースのシーケンスオブジェクトを使って主キー値を生成
【GenerationType.TABLE】
・主キー値を保持しておくテーブルを使って主キー値を生成