フィールドをTINYBLOBではなくBLOBにする方法は?
私のマッピングは次のとおりです。
private byte[] ImageBytes;
public BufferedImage getImage() {
InputStream in = new ByteArrayInputStream(ImageBytes);
try {
return ImageIO.read(in);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public void setImage(BufferedImage image) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
ImageIO.write(image, "PNG" /* for instance */, out);
} catch (IOException e) {
throw new RuntimeException(e);
}
ImageBytes = out.toByteArray();
}
これにより、Hibernate が MySQL にイメージに適合しない TINYBLOB フィールドを作成します。
BLOB を使用するにはどうすればよいですか?
次の答え
@Lob(type = LobType.BLOB)
@Lob
ライブラリに注釈がないため、機能しません。
また、ORM 固有または DBMS 固有の注釈を使用したくありません。