Как я могу принудительно перезагрузить сущность? - PullRequest
0 голосов
/ 12 августа 2010

Я использую 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 Ответ

5 голосов
/ 12 августа 2010
getEntityManager().refresh(entity);
...