1
当我坚持使用SimpleJpaRepository#save()
的实体时,它不会修改它。例如。它不会设置实体的新ID。SimpleJpaRepository不会修改持久实体
除此之外,一切工作正常。该实体正在被持续并给出一个ID。如果我从数据库中读取它,我可以看到这个ID。这是正常的行为吗?我知道#save方法返回持久实体,但我更喜欢它修改给定的实体。有没有配置这个方法?
感谢
- 编辑
假设这是我做的:
User user = new User();
// do something with user
userRepository.save(user);
然后user
保持不变。对象是写入数据库的,但用户不会被管理。另外saveAndFlush(user)
不会导致不同的行为。我可以做的是user = userRepository.save(user)
。在这种情况下,用户成为受管实例。但从休眠我习惯只保存对象和我提交的对象变得管理。有没有用JPA来实现这一点的方法?
谢谢,但正如我所说的,ID已分配,实体被保存,如果我再次从数据库中读取它,我可以看到ID。这只是''.save()'后才会自动发生' – dwalldorf
@entek尝试'saveAndFlush'。它会立即刷新更改,并且您的返回对象应该有ID,填充。 –
我更新了我原来的帖子,所以我的问题应该更清楚。 – dwalldorf