【问题标题】:How to store image into postgres database using hibernate如何使用hibernate将图像存储到postgres数据库中
【发布时间】:2012-05-27 03:21:50
【问题描述】:

我想使用 hibernate 和 Java 将图像存储到数据库中。我正在使用 postgres 数据库

我尝试了bytea 数据类型来存储图像和byte[] 数据类型在休眠 pojo 中。

我使用了以下代码,

CREATE TABLE photo
(
  "photo_name" bytea
)
WITH (OIDS=FALSE);
ALTER TABLE photo OWNER TO postgres;

休眠Pojo

public class PhotoEntity {

byte[] name;

public byte[] getName() {
    return name;
}

public void setName(byte[] name) {
    this.name = name;
}

}

但它在映射时会出错。
请给我任何参考来做到这一点。

【问题讨论】:

  • 向我们展示您的真实代码,并告诉我们准确且完整的错误消息,其中可能包含有意义的信息,而不仅仅是“您做错了什么”标志。
  • 您好,先生,映射时发生错误,因为 bytea 未与 byte[] 或 byte 映射。所以混淆了我在休眠 pojo 中使用的数据类型而不是 byte[] 或 byte。跨度>
  • 您必须提供您使用的准确映射代码以及您遇到的错误,以便任何人帮助您。
  • 你发现了吗?

标签: image hibernate postgresql store hibernate-mapping


【解决方案1】:

如果您通过 JPA2 使用 Hibernate,您可能需要 @Lob 注释,但我不确定这是用于 oid 还是 bytea 字段。见:

proper hibernate annotation for byte[]

还有一个 Hibernate dev blog post 信息量很大。

如果您通过 XML 映射或它自己的注释方言使用 Hibernate,请显示您的确切代码和错误消息。

另见答案here

【讨论】:

  • 我怀疑当@Lob 映射到OID 时,Hibernate 不会在通过DELETEUPDATE 等失去对 LOB 的引用之前和之后都不会 lo_unlink LOB。
猜你喜欢
  • 1970-01-01
  • 2011-01-27
  • 2021-05-05
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多