当我用它持久化一个实体时,SimpleJpaRepository#save()
它不会修改它。例如,它不会设置实体的新 id。
除此之外,一切正常。该实体正在被持久化并被赋予一个 id。如果我从数据库中读取它,我可以看到 id。这是正常行为吗?我知道#save 方法返回持久化的实体,但我更希望它修改给定的实体。有没有办法配置这个?
谢谢
- 编辑
让我们假设这就是我所做的:
User user = new User();
// do something with user
userRepository.save(user);
然后user
保持不变。对象已写入数据库,但用户未成为托管对象。也saveAndFlush(user)
不会导致不同的行为。我能做的是user = userRepository.save(user)
。在这种情况下,用户成为托管实例。但是从 Hibernate 开始,我习惯于只保存对象,我提交的对象成为托管对象。有没有办法用 JPA 归档这个?