【问题标题】:Open JPA - column definition binaryOpen JPA - 列定义二进制
【发布时间】:2010-11-03 11:22:06
【问题描述】:

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

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

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

| MY_FIELD   | blob         | YES  |     | NULL    |                |

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

【问题讨论】:

    标签: java jpa openjpa


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      Hibernate doc 表示要使用 @Lob 注释:

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多