Spring Repository.save仅在创建时提交,不更新
我有一个使用SpringBoot、Hibernate和SpringDataJPA的微服务。问题是,当我试图保存一个实体时,它仅在该实体是新的时提交事务,而不是在更新它时(当id不为null时)。这很奇怪,因为我在创建或更新实体时使用了相同的代码 我激活了日志,只有在创建实体时才能看到insert into语句。有什么提示吗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
@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。请提供更多信息。配置?如何调用代码?在哪里打开事务?我可以知道为什么
实体
对象被标记为最终
?嗨,没有具体的原因,你认为这可能是问题吗?如果没有具体的原因,你能删除并尝试吗?你能给我们展示一下存储库的保存实现吗?