我有一个 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保存/更新整个对象?
答案 0 :(得分:2)
我可能是错的,但是Ebean并未将实体标记为脏的,因为您没有在其上调用任何设置器。也许使用201/801/01
可以解决您的问题(我知道这是一个非常老的问题,但是由于我偶然发现了这个问题,也许我的回答可以对某人有所帮助)