postgresql - JPA eclipselink OID 大对象 PostgreSQL

标签 postgresql jpa netbeans primefaces eclipselink

我是 JPA 的新手,我遇到了 PostgreSQL oid 类型字段(字段照片)的问题,我试图通过 Primefaces 的 p:fileupload 存储从界面捕获的图像,但没有成功。我已经映射了图片字段数据类型 BigInteger 的 IDE。 他们尝试了以下方法:

  • 我想转换一个 BigInteger FileUploadEvent 字节和一个 Bug me 难倒了。

  • 认为是IDE错误映射了OID改变了数据类型 到字节 [] 并成为字节返回 FileUploadEvent 我和我 给出了错误。

    [EL 警告]:01/12/2013 16:54:51.2 - ServerSession (1488263888) - 异常 [EclipseLink-3002](Eclipse 持久性服务 - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions 。转换异常 异常描述:对象 [94,750],属于类 [class java.lang.Long],来自映射 [org.eclipse.persistence.mappings.DirectToFieldMapping [photo -> candidato.foto]] 和描述符 [RelationalDescriptor (Entity.Candidato -> [DatabaseTable (candidate)])],无法转换为 [class [B]。

前两种情况加了注解@Lob也没用,不知道是不是应用了之前的转换之类的。

集成环境:Netbeans 7.2

数据库管理系统:PostgreSQL 9.0

持久化引擎:EclipseLink 2.3.2

希望能帮到你

表BD

CREATE TABLE candidato
    (
      idcandidato serial NOT NULL,
      idtipoidentificacion integer,
      numeroidentificacion character varying(100),
      nombres character varying(100),
      foto oid,
      n_foto character varying(50),
      CONSTRAINT candidato_pkey PRIMARY KEY (idcandidato),
    )
    WITH (
      OIDS=FALSE
    );

带有 BigInteger 的实体 Candidato(Netbeans 生成器)

@Column(name = "foto")
private BigInteger foto;

public BigInteger getFoto() {
    return foto;
}

public void setFoto(BigInteger foto) {
    this.foto = foto;
}

具有类型更改的实体候选者 (byte[])

@Column(name = "foto")
private byte[] foto;

public byte[] getFoto() {
    return foto;
}

public void setFoto(byte[] foto) {
    this.foto = foto;
}

最佳答案

这似乎给休眠用户带来了很多困惑。对于大多数情况,您希望在 hybernate 端使用 byte[],在 PostgreSQL 端使用 byteabytea 代表“字节数组”,因此两者或多或少是相同的。 Byteas 的开销比 lob 少很多,但如果您需要需要一个流媒体接口(interface),包括在 lob 中搜索的能力。例如,如果您正在存储流媒体视频并且可能想要启动一个 25MB 的新分块请求,那么 LOB 会派上用场。

关于postgresql - JPA eclipselink OID 大对象 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298694/

相关文章:

hibernate - @OrderColumn错误:"null index column for collection"

java - 使用 EclipseLink 在 @MappedSuperclass 基类上使用 @ElementCollection 和 @CollectionTable

java - 分发 Java 控制台程序

ruby-on-rails - 如何在 Rails 中对非英文字符进行不区分大小写的搜索?

php - 使用 Yii2 队列扩展和 Postgres 10.4 时出现错误 'Has not wait the lock'

postgresql - 我们可以将 pg_dumpall 用于 Azure 托管灵活服务器吗

java - 如何在Netbeans中创建Java项目,而不使用默认的Maven?

sql - 如果子查询在 Postgres 中返回多行,则跳过行

spring - 没有定义类型 [javax.persistence.EntityManagerFactory] ​​的唯一 bean 预期的单个 bean,但发现 0

netbeans - 无法使用带有 Netbeans 的 phpdocumentor 2 生成文档