[英]Java/JPA persist return value
我有兩個實體Question
和Publication
。 出版物有一個問題清單。 當我堅持一個問題就可以了,我檢查數據庫並插入行(我正在使用MySQL)。
然后,我需要顯示該出版物的問題,並且當我選擇問題時,不會顯示我之前堅持的問題。
我執行“ Select p from Publicacion
”,它將返回所有問題而不是新問題的出版物。 如果我停止服務器並再次部署應用程序網絡,那么當我顯示發布問題時,它就會出現!
我不知道發生了什么,我不知道是關於內存還是關於實體管理器。
請我卡住
謝謝
public T persist(T object){
entityManager.persist(object);
entityManager.flush();
return object;
}
我認為刷新操作丟失了,並且可能丟失了活動事務中的提交,這聽起來像是當您停止服務器時,所有活動事務都已提交,這就是為什么您可以在關閉后看到更改的原因。
您沒有顯示任何代碼。 我想您正在使用JPA,因此請嘗試刷新entitymanager。 如果您使用的是應用程序托管的交易
em.getTransaction().begin();
Changes the object are doing here.
em.persist(Object);
em.getTransaction().commit();
如果您使用的是容器管理的事務,請檢查事務划分,以確保在嘗試檢索對象之前將其保留下來
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.