1

エンティティが保存される前に onSave() イベントが発生したため、エンティティには ID がありません。保存後にエンティティ ID を取得する方法はありますか?

4

2 に答える 2

0

私の場合、満たされたエンティティを取得する必要がありました。エンティティをコレクション (HashSet など) に追加すると、このエンティティはインターセプターのライフサイクル中に自身の状態を変更します。そのため、HashSet にエンティティを追加し、afterTransactionCompletion() で HashSet からエンティティを取得しました。エンティティは完全に入力され、ID があります。

于 2013-07-11T03:03:01.753 に答える
0

EmptyInterceptor の JavaDocs によると、onSave メソッドは "id" をパラメーターとして受け取ります。ここを参照してください: http://docs.jboss.org/hibernate/orm/3.5/javadoc/org/hibernate/EmptyInterceptor.html

したがって、その id 値を使用できます。

ここで説明されている方法と同様のインターセプターを作成したと仮定しています: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/events.html

于 2013-07-06T14:46:42.417 に答える