エンティティが保存される前に onSave() イベントが発生したため、エンティティには ID がありません。保存後にエンティティ ID を取得する方法はありますか?
質問する
1160 次
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 に答える