Id列設定可能なIは、MySQLを使用して、次のエンティティ持っている:しかしJPA:両方の自動および手動
class MyEntity {
@Id
@GeneratedValue(strategy=IDENTITY)
@Column(name="id")
private Integer id;
}
を、私はまだ手動でIDを設定できるようにしたいと思います!
問題は、INSERTはID列を挿入しないことです。 このやったときに、例えば、:
INSERT INTO myEntities (col1, col2, col3) VALUES (?, ?, ?)
SELECT id, col1, col2, col3 FROM myEntities WHERE (id = 15)
こうしてidがまだEntityNotFoundException
で自動生成され、refresh()
意志 結果になります。
MyEntity e = new MyEntity();
e.setId(15);
em.persist(e);
em.flush();
em.refresh(e);
を次のクエリが行われます。
@GeneratedValue
を設定しないと、この場合はOK、 が有効になりますが、値が自動生成されるとLAST_INSERT_ID()
は呼び出されません。
MySQLのようにid列を手動でも でも自動的に設定することは可能ですか?
ありがとうございました。 JPA 2でこれを変更する予定があるかどうか知っていますか? –