2010-11-03 89 views
2

我想設置一個列的類型在OpenJPA的二進制(5)所以我使用瞭如下聲明:打開JPA - 列定義二進制

@Column(name="MY_FIELD", columnDefinition="BINARY(5)") 
public byte[] getMyField() { 
    return myField; 
} 

然而,始終創建列作爲一個blob:

| MY_FIELD | blob   | YES |  | NULL |    | 

任何線索得到這個工作?

回答

2

這是OpenJPA中的一個錯誤,由OPENJPA-740引入。我已經以你的名義打開了一個錯誤報告:OPENJPA-1870

+0

好的,謝謝..... – Joel 2010-11-03 16:09:10

-1

Hibernate doc說@Lob註釋將被使用:

@Lob指示屬性應該以斑點或者根據屬性類型的Clob被保留: java.sql.Clob中, Character [],char []和java.lang.String將被保存在Clob中。 java.sql.Blob,Byte [],byte []和可序列化類型將保留在Blob中。

它與Hibernate一起工作很好:對於OpenJPA你應該沒問題,因爲documentation表示@Lob是以「標準JPA方式」處理的。

+0

但是作爲Blob的持久性正是我不想要的。我想持久化爲一個MySQL二進制類型@see http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html – Joel 2010-11-03 13:17:36