2012-08-04 97 views
0

我正在使用EJB容器管理Bean數據庫handling.I無法開始事務和結束事務.EJB處理this.Persistence提供程序是休眠狀態。實體管理器不從數據庫讀取最新狀態

當我想執行一個sql查詢時,它不會從數據庫返回到最新狀態。 我想獲得狀態爲WAITING的實體,但雖然有些實體不處於WAITING狀態,但它們被檢索到執行查詢。我認爲hibernate不會進入數據庫獲取最新狀態。

我試過Query.setHint(字符串,對象),em.clear和其他一些東西,但我無法。 我正在處理這個問題一個星期。我嘗試了任何東西。

+1

如果這些分貝記錄被Hibernate控制的應用程序之外的某些源修改我會嘗試禁用第二級緩存。 – fvu 2012-08-04 12:25:33

+0

什麼樣的應用程序可以修改db記錄?我如何禁用二級緩存? – user725455 2012-08-04 16:17:56

+0

其他企業應用程序,在其他服務器實例上運行的Web前端,其他Web應用程序,在數據庫上的批量操作,桌面應用程序等。我建議您禁用二級緩存,看看會發生什麼,然後追溯到罪魁禍首。這很容易做,如果它起作用,你至少有進一步行動的起點。 – fvu 2012-08-04 17:12:44

回答

0

我創建了一個新的bean,增加我的方法檢索其狀態是等待爲bean.I的業務方法添加@TransactionAtrribute(REQUIRES_NEW)實體註釋方法的聲明,這解決了我的問題

相關問題