mysql
の場合 次のことをお勧めします:
あなたのテーブルでmessages
フィールドid
で 宣言を追加auto_increment
:
create table messages(
...
id int not null auto_increment,
...
primary key (id)
)
エンティティ宣言で使用
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
これは、MySQLの自動インクリメント機能を使用するJPAと話します
該当しない場合(たとえば、同じトランザクションで関連する別のエンティティを作成する場合)、TABLE戦略を使用します(詳細については、 http://www.objectdb.com/java/jpa/entity/generated )