35

Hibernate で blob 列にどのように注釈が付けられますか? これまでのところ、次のクラスがあります。

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

2 に答える 2

50

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

@Column( name = "FILEIMAGE" )
@Lob(type = LobType.BLOB)
private byte[] fileimage;
于 2009-06-02T13:57:13.593 に答える
3

JBoss 7 と Java 7 で hibernate 4 を使用しましたBLOBが、表の列が hibernate 2 のように機能しないことがわかりました。幸いなことに、他の人の解決策を読んで解決しました。私の解決策:

  1. db のテーブル、列はまだ BLOB で定義されています。休止状態のマッピングを からtype="blob"に変更しますtype="binary"
  2. Java getter/setterでは、 ( )byte[]の代わりに使用BLOBjavax.sql
  3. この列を適切に取得および設定する Java コードを変更します。InputSram を使用する場合は、列のbyte[]読み取り/書き込みに使用します。BLOBを使用して DB から読み取る場合は、メソッドjava.sql.ResultSetの代わりに getBytes() を使用してください。getBlob()
于 2014-08-22T20:33:39.640 に答える