我想使用hibernate和Java将图像存储到数据库中。我正在使用postgres数据库
我尝试使用bytea
数据类型来存储hibernate pojo中的图像和byte[]
数据类型。
我使用了以下代码,
CREATE TABLE photo
(
"photo_name" bytea
)
WITH (OIDS=FALSE);
ALTER TABLE photo OWNER TO postgres;
Hibernate Pojo
public class PhotoEntity {
byte[] name;
public byte[] getName() {
return name;
}
public void setName(byte[] name) {
this.name = name;
}
}
但是在映射时会出错 请给我任何参考来做这件事。
答案 0 :(得分:5)
如果您通过JPA2使用Hibernate,则可能需要@Lob
注释,但我不确定这是oid
还是bytea
字段。参见:
proper hibernate annotation for byte[]
还有一个非常有用的Hibernate dev blog post。
如果您通过XML映射或自己的注释方言使用Hibernate,请显示您的确切代码和错误消息。
另请参阅答案here。