我已经有hsql db进行测试,我添加了几个表。
我正确更新了.dtd和.xml文件,但无法运行junits,因为从dbunit测试用例中抛出了“NoSuchTableException”。
在DAO课程中,我为罪魁祸首表添加了以下属性。
@Column(name = "keyword_id", columnDefinition = "int REFERENCES master_keyword(keyword_id)")
删除columnDefinition属性后,junit工作正常。我知道columnDefinition是特定于数据库的,这是否意味着,我们不应该在运行junits时使用它?
我花了很多时间在这上面。问题解决了,但对此有什么想法吗?
答案 0 :(得分:1)
如果您的单元测试使用注释来自动创建数据库表,那么显然会考虑columnDefinition
属性:这就是它的目的。
因此,如果你有一个特定于数据库的东西,对于你正在使用的另一个数据库,在列定义中,那么显然它将不起作用。
看起来您想在此处定义外键约束。那么为什么不使用OneToOne或ManyToOne关联?