2010-08-12 184 views
0

我正在使用ajax4jsf輪詢器<a4j:poll>來檢查實體是否已由另一個進程在數據庫中更新。我想每次都重新加載實體。如何強制重新加載實體?

我該如何強制重新加載?

調用loadInstance()似乎沒有效果。 (查詢工作正常)

@Name("myComponentHome") 
public class MyComponentHome extends EntityHome<ComponentType> { 
    public void poll() { 
     log.warn("poll"); 
     ComponentType loadInstance = loadInstance(); 
     if (loadInstance.getReportTime() != null) { 
      log.warn("poll report detected stoping poller"); 
      setInstance(loadInstance()); 
      pollEnabled = false; 
     } 
    } 
... 
} 

版本2.1.2縫Jboss的4.2

編輯:

也許是比較容易回答,如果一個人都知道接縫loadInstance()被實現爲:

return getEntityManager().find(getEntityClass(), getId()); 

回答

5
getEntityManager().refresh(entity); 
+0

作品完美謝謝。 – stacker 2010-08-12 13:52:26