Spring batch / Postgres 9.3:HibernateCursorItemReader以不正确的格式返回压缩数据

时间:2015-01-26 11:42:35

标签: hibernate spring-batch postgresql-9.3

我们刚刚将我们的应用程序从PostgreSQL 8.4 + java 5迁移到PostgreSQL 9.3和java 6。 我有一个带有简单HibernateCursorItemReader的项目阅读器,它返回包含压缩字段的混合数据。 通过升级,阅读器返回的数据现在具有"解压缩数据:错误 - >不是GZIP格式"但是如果我在旧系统上测试它(使用旧驱动程序)它正常工作。 我试过了两个

配置如下:

<beans:bean id="extractionItemReader" scope="step"
class="org.springframework.batch.item.database.HibernateCursorItemReader">
<beans:property name="queryString">
  <beans:value>
     <![CDATA[
      select bilan, data, bank from 
        BilanCustomer bilan,
        BilanCustomerData data, 
        CustomerBank bank
      where 
        bilan.customer.key='CNCE' and
        bilan.status=1 and
        bilan.documentType.code='EBCDIC' and
        bilan.disabled=false and
        bilan.bilanCustomerData.identifiant=data.identifiant and
        bilan.customerBank.identifiant=bank.identifiant
      ]]>
  </beans:value>
</beans:property>
<beans:property name="sessionFactory" ref="sessionFactory" />

非常感谢任何见解。

已添加(28/01/2015):

数据源是:

 <local-tx-datasource>
     <jndi-name>bilanDatasource</jndi-name> 
     <connection-url>jdbc:postgresql://XXX.XXX.XXX.XXX:5432/PBILD</connection-url>
     <driver-class>org.postgresql.Driver</driver-class>
     <user-name>*****</user-name>
     <password>****</password>
 </local-tx-datasource>

获取压缩数据的字段是表BilanCustomerData中的&#39; bicd_data&#39;

bicd_id                 bigint         NOT NULL,
bicd_version            timestamp      NOT NULL,
bicd_date               timestamp      NOT NULL,
bicd_name               varchar(50),
**bicd_data               bytea**,
bicd_disabled           boolean,
bic_for_c               varchar(3),
...

Libs是:

Hibernate : 3.3.1.GA
Spring version : 2.5.6
Spring batch : 2.0.1.RELEASE

0 个答案:

没有答案