强制ebean更新对象

时间:2014-04-01 07:47:44

标签: java playframework-2.0 ebean

我有一个 Play Framework 2 应用程序
我使用使用Scala 2.10.3构建的play 2.2.2(运行Java 1.7.0_25)。

我有一个方法,用来自安全表的副本检查对象。如果对象已被更改,它将被替换为来自安全表的对象。 但是当我调用save ebean时不会更新它: [debug] c.a.e.s.p.DefaultPersister - 当bean未更改时跳过更新

public static <T> T findAndRestore(Class<T> clazz, Long id) throws Exception {
    T securedObject = SecuredEntityUtils.getObjectFromSecuredTable(clazz, id);
    T entity = Ebean.find(clazz, id);
    if (securedObject != null) {
        if (entity == null) {
            Ebean.save(securedObject);
        } else if (!entity.equals(securedObject)) {
            Ebean.update(securedObject);
        }
    } else {
        logger.warn("Not found securedObject for entity : " + entity.getClass());
    }
    return securedObject ;
}

有没有办法强制ebean保存/更新整个对象?

1 个答案:

答案 0 :(得分:2)

我可能是错的,但是Ebean并未将实体标记为脏的,因为您没有在其上调用任何设置器。也许使用201/801/01可以解决您的问题(我知道这是一个非常老的问题,但是由于我偶然发现了这个问题,也许我的回答可以对某人有所帮助)