如何强制重新加载实体?

时间:2010-08-12 12:51:59

标签: java ajax jpa seam

我正在使用ajax4jsf poller <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());

1 个答案:

答案 0 :(得分:5)

getEntityManager().refresh(entity);