我正在使用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;
        }
    }
...
}


Seam 2.1.2版本Jboss 4.2

编辑:

如果知道Seams loadInstance()是通过以下方式实现的,则可能更容易回答:

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

最佳答案

getEntityManager().refresh(entity);

关于java - 如何强制重新加载实体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3467808/

10-09 07:45