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-740によって導入されたOpenJPAのバグです。私はあなたに代わってバグレポートを開きました: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でうまく機能します。ドキュメントには、@ Lobは「標準のJPA方式で」処理されると記載されているため、OpenJPAでも問題ありません。

于 2010-11-03T13:08:15.020 に答える