2012-10-17 47 views
1

我正在使用嵌入式Apache Derby數據庫進行JUnit測試。我有一些JPA實體。有含列的實體是這樣的:Derby數據庫不支持@Column註釋中的columnDefinition =「LONGTEXT」嗎?

@Column(nullable = false) 
private String rawResults; 

它與嵌入式Derby的所有作品,直到我厭倦了更換TEXT成由openjpa-maven-plugin生成的查詢LONGTEXT的,所以我做了像這樣的列:

@Column(nullable = false, columnDefinition = "LONGTEXT") 
private String rawResults; 

現在openjpa-maven-plugin正在生成LONGTEXT而不是TEXT。但是這隻在我跳過我的測試時才起作用。

然後我跑我的測試和德比發生,所以一切失敗,像這樣的錯誤:

org.apache.openjpa.lib.jdbc.ReportingSQLException: TYPE 'LONGTEXT' does not exist. {stmnt 23146419 CREATE TABLE Assessment -- Assessment_JpaImpl 

我使用的是Derby 10.9.1.0和我,據我瞭解它不支持columnDefinition = "LONGTEXT"。這是正確的嗎?或者我需要設置一些使derby支持這個屬性的配置?

+1

你知道那「columnDefinition」將完全具體到一個RDBMS?所以你拋棄了可移植性。 – DataNucleus

回答