2012-02-17 125 views
0

我已經有了hsql數據庫進行測試,並且我添加了幾個表。hsqldb不支持columnDefinition屬性的列

我正確地更新.dtd和.xml文件,但無法爲「NoSuchTableException」正在從DbUnit的測試用例拋出運行junits。

在DAO類中,我爲罪魁禍首表添加了以下屬性。

@Column(name = "keyword_id", columnDefinition = "int REFERENCES master_keyword(keyword_id)") 

一旦我刪除columnDefinition屬性,junit工作正常。我明白columnDefinition是特定於數據庫的,這是否意味着,我們不應該在運行junits時使用它?

我在這花了很多時間。問題已解決,但有關於此的任何想法?

回答

1

如果你的單元測試使用註釋來自動創建數據庫表,那麼顯然columnDefinition屬性是考慮到:這是它的目的。

所以,如果你有數據庫特定的東西,對於其他數據庫比您正在使用的一個,在列的定義,那顯然是行不通的。

看起來你想在這裏定義一個外鍵約束。那你爲什麼不使用OneToOne或ManyToOne關聯?

+0

我想避免從代碼的約束(因爲一個原因),我只是想在這裏有一個定義,並在表本身的約束。 它可以在devo/prod中正常工作,但是聯合失敗。 – instanceOfObject 2012-02-17 14:45:17