我运行junit测试,使用与主项目几乎相同的配置,在postgres中,类似于主项目,但在单独的测试数据库上。每次运行时,我插入准备好的测试数据。https://i.stack.imgur.com/tlb92.jpg"我测试服务方法“addCategory”,运行三次,我得到“重复键值违反唯一约束“category_pkey”"。第四次,实体得到id=4,一切正常。我尝试了不同的通用策略,但问题未解决
第一次运行时该测试如何工作?
我运行junit测试,使用与主项目几乎相同的配置,在postgres中,类似于主项目,但在单独的测试数据库上。每次运行时,我插入准备好的测试数据。https://i.stack.imgur.com/tlb92.jpg"我测试服务方法“addCategory”,运行三次,我得到“重复键值违反唯一约束“category_pkey”"。第四次,实体得到id=4,一切正常。我尝试了不同的通用策略,但问题未解决
第一次运行时该测试如何工作?
1条答案
按热度按时间bq3bfh9z1#
代码可能更容易一些,但总的来说,在手动插入后,您应该让Hibernate知道下一个id是什么。例如,对于基于序列的,您应该:
1.未在插入脚本中使用定义的Id,并使用
nextval()
函数或指定Id1.手动更新下一个序列值:
alter sequence OBJECT_SEQ restart start with 4;