首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制ebean更新对象

强制ebean更新对象
EN

Stack Overflow用户
提问于 2014-04-01 07:47:44
回答 1查看 1.5K关注 0票数 4

我有一个Play Framework 2应用程序

我使用使用Scala2.10.3构建的play 2.2.2 (运行Java 1.7.0_25)。

我有一种方法,可以从安全的表中用他的副本来检查对象。如果对象已被更改,则将由安全表中的对象替换。但是,当我调用保存ebean时,它不会更新:调试c.a.e.s.p.DefaultPersister -更新跳过的bean是不变的。

代码语言:javascript
复制
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保存/更新整个对象的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 13:05:30

我可能错了,但是Ebean并没有将实体标记为脏,因为您没有在其上调用任何setter。也许使用Ebean.markAsDirty(entity)可以解决你的问题(我知道这是一个很老的问题,但由于我偶然发现了这个问题,也许我的答案可以帮助某人)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22779742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档