簡體   English   中英

在Hibernate Interceptor中獲取已保存實體ID的方法

[英]Way to get id of saved entity in Hibernate Interceptor

onSave()事件在保存實體之前發生,因此實體沒有它的ID。 保存后是否有任何方法獲取實體ID?

根據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

就我而言,我需要填補實體。 當我們將實體添加到集合(例如HashSet)時,此實體在攔截器生命周期內更改自己的狀態。 因此,我只是將實體添加到HashSet中,然后在afterTransactionCompletion()中從HashSet中獲取實體。 實體已完全填充,並且具有ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM