簡體   English   中英

Java / JPA持久返回值

[英]Java/JPA persist return value

我有兩個實體QuestionPublication 出版物有一個問題清單。 當我堅持一個問題就可以了,我檢查數據庫並插入行(我正在使用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.

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