web-dev-qa-db-ja.com

Hibernateでblob列に注釈を付ける方法は?

Hibernateでblob列に注釈を付ける方法は?これまでのところ、私は持っているクラスがあります:

@Column( name = "FILEIMAGE" )
private byte[ ] fileimage ;
//
public byte[ ] getFileimage ( ) { return this.fileimage ; }
public void setFilename ( String filename ) { this.filename = filename ; }
32
quinn

@Lobはblobとclobのトリックを実行する必要があります(タイプとしてStringを使用)

@Column( name = "FILEIMAGE" )
@Lob(type = LobType.BLOB)
private byte[] fileimage;
48
HeDinges

JBoss 7でhibernate 4を使用し、Java 7、およびテーブルのBLOB列がhibernate 2のように機能しないことがわかりました。幸いなことに、私は解決しました他の人の解決策を読むことによって。

  1. Dbのテーブル、まだBLOBで定義されている列。休止状態のマッピングを_type="blob"_から_type="binary"_に変更します
  2. Java getter/setter、BLOB(_byte[]_)の代わりに_javax.sql_を使用]
  3. この列を適切に取得および設定するJavaコードを変更します。InputStramを使用する場合は、BLOB列の読み取り/書き込みに_byte[]_を使用します。 _Java.sql.ResultSet_を使用する場合は、getBlob()メソッドの代わりにgetBytes()を使用してください。
2
Mingwei Wu