JPAを使用するときに、新しいオブジェクトの自動生成IDを効率的に見つける方法は?

StackOverflow https://stackoverflow.com/questions/2686863

質問

@IDが注釈されている属性があります。 IDは、オブジェクトを持続するときに自動的に生成されます。つまり、オブジェクトを保持する前にID値は定義されていません。それを持続した後、ID(データベース内)がありますが、残念ながら、DBからリロードしない限り、フィールドは依然としてnullのままです。生成されたIDを見つける簡単な方法はありますか?またはより良い:それがフィールドに書き込まれることを構成するために?

前もって感謝します

役に立ちましたか?

解決

IDはフラッシュ後に割り当てられます。と仮定します Foo エンティティには id 標準で注釈が付けられた属性 @Id @GeneratedValue 注釈、次のコードが機能します。

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top