2011-08-24 28 views

回答

2

請嘗試em.refresh()
JPA的EntityManager將不會意識到您在其重新加載數據之前在其事務之外所做的任何更改。以上命令將使其重新加載數據。

如果它是一個List(使用select填充),那麼您需要重新加載它。

+0

嗯,謝謝@Padmarag,我現在就試試。 – kardanov

+0

這有效,但對我來說它看起來很奇怪,因爲起初我從數據庫中選擇了一些實體數據,然後我需要在使用前刷新它。你認爲@Padmarag是什麼,這是常見的做法嗎?謝謝。 – kardanov

+0

即使使用JDBC,這也會起作用。一旦你觸發了select,我們獲取結果集,事務結束並且連接將被關閉。在處理提取的數據時,可能會在數據庫中添加新記錄。因此,要獲取新記錄,您需要再次啓用選擇。 JPA也遵循類似的邏輯。 – Padmarag