什么是测试@SequenceGenerator
从休眠的方法序列映射和策略是什么?我想确保每个序列都被完美映射,拼写没有错误,并且递增由1完成。是否有任何方法可以为所有序列动态执行此操作?休眠 - 如何测试在JUnit
这里是我的序列映射的示例:
@Column(name = "ADDRESS_ID", nullable = false, precision = 20)
@Id
@SequenceGenerator(name = "AddressSeq", sequenceName = "ADDRESS_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AddressSeq")
private Long addressId;
你想创建一个In内存数据库吗? Hibernate创建序列?或者是外部数据库?您可以使用反射来获取所有序列名称,并查询数据库,但我不认为它是一个单元测试。 – 2014-08-27 21:56:18
Inmemory但Oracle兼容模式与从脚本预加载的模式。你可以在https://github.com/slavisah/mybusiness上看看项目,并用几句话来回顾一下。谢谢 – shx 2014-08-27 22:01:54
我认为你不需要测试序列是否增加1,你需要对hibernate有一定程度的信任,但对于序列名称,你可以使用反射来获得所有映射类,得到它们的id并得到序列的名称,以便将其与原始sql文件进行比较,如果存在“CREATE SEQUENCE”,那么它必须是可靠的。 – 2014-08-27 22:06:12