我刚刚开始学习JPA,我正在使用Spring-Data和Hibernate。我看起来一切正常,我想测试底层数据库,以确保JPA / Hibernate正在做我认为应该做的事情。但是,每当我对一个实体执行save()时,Hibernate就不像基本的Hibernate那样更新主键(自动生成)。 id始终为0,即使我知道插入语句已成功生成并可能已发送到数据库。
如何在保存实体时让Spring-Data / JPA更新实体的主键?我正在使用AbstractTransactionalJUnit4SpringContextTests。
答案 0 :(得分:2)
你必须使用save()操作的返回值
person = repo.save(person);