【发布时间】:2012-09-13 08:33:23
【问题描述】:
我刚刚开始学习 JPA,并且正在使用 Spring-Data 和 Hibernate。我看起来一切正常,我想测试底层数据库以确保 JPA/Hibernate 正在做我认为应该做的事情。但是,每当我对实体执行 save() 时,Hibernate 不会像以前的基本 Hibernate 那样更新主键(自动生成)。 id 始终为 0,即使我知道插入语句已成功生成并可能发送到数据库。
如何让 Spring-Data/JPA 在保存实体时更新其主键?我正在使用 AbstractTransactionalJUnit4SpringContextTests。
【问题讨论】:
-
你能发布你的测试源吗?您是否尝试重新分配返回值? person = repo.save(person);?
-
@reagten 实际上,这行得通。使用 Hibernate,保存操作没有返回值,但我想你必须使用 JPA。谢谢你。
标签: java spring hibernate spring-data