我有一个Play Framework 2应用程序
我使用使用Scala2.10.3构建的play 2.2.2 (运行Java 1.7.0_25)。
我有一种方法,可以从安全的表中用他的副本来检查对象。如果对象已被更改,则将由安全表中的对象替换。但是,当我调用保存ebean时,它不会更新:调试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保存/更新整个对象的方法?
发布于 2018-08-24 13:05:30
我可能错了,但是Ebean并没有将实体标记为脏,因为您没有在其上调用任何setter。也许使用Ebean.markAsDirty(entity)可以解决你的问题(我知道这是一个很老的问题,但由于我偶然发现了这个问题,也许我的答案可以帮助某人)
https://stackoverflow.com/questions/22779742
复制相似问题