我想设置一个列的类型在OpenJPA的二进制(5)所以我使用了如下声明:打开JPA - 列定义二进制
@Column(name="MY_FIELD", columnDefinition="BINARY(5)")
public byte[] getMyField() {
return myField;
}
然而,始终创建列作为一个blob:
| MY_FIELD | blob | YES | | NULL | |
任何线索得到这个工作?
我想设置一个列的类型在OpenJPA的二进制(5)所以我使用了如下声明:打开JPA - 列定义二进制
@Column(name="MY_FIELD", columnDefinition="BINARY(5)")
public byte[] getMyField() {
return myField;
}
然而,始终创建列作为一个blob:
| MY_FIELD | blob | YES | | NULL | |
任何线索得到这个工作?
这是OpenJPA中的一个错误,由OPENJPA-740引入。我已经以你的名义打开了一个错误报告:OPENJPA-1870。
的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方式”处理的。
但是作为Blob的持久性正是我不想要的。我想持久化为一个MySQL二进制类型@see http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html – Joel 2010-11-03 13:17:36
好的,谢谢..... – Joel 2010-11-03 16:09:10