0

ファイルをデータベーステーブルにbyte[]. byte[]を使用してpostgresデータベース テーブルに を格納することに関して質問がありますHibernateEntityクラスにこの実装があります:

@Column
private byte[] bytes;

私のデータベース テーブルではbytebyte[].

これで、この列に表示plaintextされます (私の場合は、データベースに保存するファイルの名前)。バイトごとに、データベース列のファイルの名前が繰り返されます。しかし、なぜ?

別の Hibernate アノテーションが必要ですか?

手伝ってくれてありがとう!

グリーツ・マーウィーフ

4

3 に答える 3

3

@Lobでフィールドに注釈を付ける必要があります。

注: 列が自動生成される場合は、追加の注釈を使用して列定義を設定することを考えるかもしれません (例: MYSQL 用):

@Column(columnDefinition="LONGBLOB")//or VARBINARY(128) if you need a smaller limit
于 2013-10-30T09:43:38.883 に答える
0

Domain

    import javax.persistence.Lob;
    @Lob
    private byte[] image;

Repository layer

   byte[] image = getImageAsBytes();
   domain.setImage(image);
   entityManager.save(domain);

それはうまくいくはずです、少なくとも私たちにとってはうまくいきます。特殊魔法なし

于 2013-10-30T11:19:53.417 に答える
0
@Column(columnDefinition = "LONGBLOB")
private byte[] bytes;
于 2013-10-30T11:05:31.233 に答える