在PostgreSQL中使用JPA2存储字节数组图像

时间:2013-12-20 20:39:58

标签: java hibernate postgresql

我正在尝试将图像存储在数据库中,但是当我读取值时,我总是为空。

我尝试了几种以下注释的组合,但结果始终相同:

@Lob
@Basic(fetch = FetchType.EAGER)
@Type(type="org.hibernate.type.BinaryType")
private byte[] image;

的persistence.xml:

<persistence-unit name="primary" transaction-type="JTA">
    <jta-data-source>java:jboss/datasources/WheelGoDS</jta-data-source>
    <properties>
        <property name="hibernate.hbm2ddl.auto" value="create" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
        <property name="hibernate.current_session_context_class" value="jta"/>
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.archive.autodetection" value="class" />
        <property name="hibernate.connection.useUnicode" value="true" />
        <property name="hibernate.connection.characterEncoding" value="UTF-8" />
    </properties>
</persistence-unit>

当我只使用@Lob时,我注意到使用pgAdmin我会看到数值。否则我看到binary data。我的问题是:

  1. 是否有使用JPA2存储和读取二进制数据的可靠方法?
  2. 有没有办法在postgres中读取二进制数据?因为现在我不确定它们是否正确存储。

0 个答案:

没有答案