如何强制重新加载实体?

sta*_*ker 0 java ajax seam jpa

我正在使用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;
        }
    }
...
}
Run Code Online (Sandbox Code Playgroud)

版本Seam 2.1.2 Jboss 4.2

编辑:

如果知道Seams loadInstance()实现为:如果实现的话,可能更容易回答:

return getEntityManager().find(getEntityClass(), getId());
Run Code Online (Sandbox Code Playgroud)

Boz*_*zho 5

getEntityManager().refresh(entity);
Run Code Online (Sandbox Code Playgroud)