2012-09-13 39 views
0

我刚开始学习JPA,我在封面上使用Spring-Data和Hibernate。我看起来有一切工作,我想测试底层数据库,以确保JPA/Hibernate正在做我认为应该做的事情。但是,每当我对一个实体执行save()时,Hibernate都不会像基本的Hibernate那样更新主键(这是自动生成的)。该id始终为0,即使我知道插入语句已成功生成并可能发送到数据库。如何测试Spring-Data JPA存储库的save()操作?

如何让Spring-Data/JPA在保存时更新实体的主键?我正在使用AbstractTransactionalJUnit4SpringContextTests。

+1

你可以发布您的测试源的返回值?您是否尝试重新分配返回的值? person = repo.save(person);? –

+0

@reagten其实,那工作。在Hibernate中,保存操作没有返回值,但我想你必须使用JPA。感谢那。 – egervari

回答

2

,你必须用save()操作

person = repo.save(person);