我有一个使用Spring Boot,Hibernate和Spring Data Jpa的微服务。问题在于,当我尝试保存实体时,它仅在实体是新的时才提交事务,而在更新时不提交事务(当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操作。
答案 0 :(得分:0)
最后我解决了这个问题.... pojo有注释@Immutable。