2

我正在尝试将 OpenJPA 中列的类型设置为 binary(5),因此我使用以下声明:

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

但是,该列始终创建为 blob:

| MY_FIELD   | blob         | YES  |     | NULL    |                |

关于让它工作的任何线索?

4

2 回答 2

2

这是 OpenJPA 中的一个错误,由OPENJPA-740引入。我代表您打开了一个错误报告:OPENJPA-1870

于 2010-11-03T16:05:16.763 回答
-1

Hibernate 文档说要使用 @Lob 注释:

@Lob 表示属性应该被持久化在 Blob 或 Clob 中,具体取决于属性类型:java.sql.Clob、Character[]、char[] 和 java.lang.String 将持久化在 Clob 中。java.sql.Blob、Byte[]、byte[] 和可序列化类型将被持久化在一个 Blob 中。

它与 Hibernate 配合得很好:使用 OpenJPA 应该没问题,因为文档说 @Lob 是“以标准 JPA 方式”处理的。

于 2010-11-03T13:08:15.020 回答