Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Repository.save仅在创建时提交,不更新_Spring_Hibernate_Spring Data_Spring Data Jpa - Fatal编程技术网

Spring Repository.save仅在创建时提交,不更新

Spring Repository.save仅在创建时提交,不更新,spring,hibernate,spring-data,spring-data-jpa,Spring,Hibernate,Spring Data,Spring Data Jpa,我有一个使用SpringBoot、Hibernate和SpringDataJPA的微服务。问题是,当我试图保存一个实体时,它仅在该实体是新的时提交事务,而不是在更新它时(当id不为null时)。这很奇怪,因为我在创建或更新实体时使用了相同的代码 我激活了日志,只有在创建实体时才能看到insert into语句。有什么提示吗 @Transactional public class MyEntityService { @UserCanCud public Entity save(f

我有一个使用SpringBoot、Hibernate和SpringDataJPA的微服务。问题是,当我试图保存一个实体时,它仅在该实体是新的时提交事务,而不是在更新它时(当id不为null时)。这很奇怪,因为我在创建或更新实体时使用了相同的代码

我激活了日志,只有在创建实体时才能看到insert into语句。有什么提示吗

@Transactional
public class MyEntityService {

    @UserCanCud
    public Entity save(final Entity entity) {
        Assert.notNull(entity, "The entity to store cannot be null");
        return repository.save(entity);
    }
}
PS:当我返回实体时,它是“已更新”的实体,但如果我再次检索它,则值不会更新


UserCanCud检查数据库是否允许用户对该实体执行cud操作。

最后,我解决了这个问题。。。。pojo有注释@Immutable。

请提供更多信息。配置?如何调用代码?在哪里打开事务?我可以知道为什么
实体
对象被标记为
最终
?嗨,没有具体的原因,你认为这可能是问题吗?如果没有具体的原因,你能删除并尝试吗?你能给我们展示一下存储库的保存实现吗?