[hibernate-issues] [Hibernate-JIRA] Created: (HHH-6127) Wrong save or read unicode value on @Lob String field in PostgreSQL 8.4

Mihail Slobodyanuk (JIRA) noreply at atlassian.com
Sat Apr 16 07:08:59 EDT 2011


Wrong save or read unicode value on @Lob String field in PostgreSQL 8.4
-----------------------------------------------------------------------

                 Key: HHH-6127
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6127
             Project: Hibernate Core
          Issue Type: Bug
    Affects Versions: 3.6.3
         Environment: PostgreSQL 8.4.5 on Ubuntu 32, Hibernate 3.6.0 - 3.6.3, jdbc driver: postgresql-8.3-603.jdbc3 
            Reporter: Mihail Slobodyanuk
            Priority: Critical


<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
    <property name="hibernate.connection.url">jdbc:postgresql://localhost/test</property>
    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
    <property name="hibernate.connection.username">postgres</property>
    <property name="hibernate.connection.password">postgres</property>
    <property name="hbm2ddl.auto">update</property>
    <property name="hibernate.connection.charSet">UTF-8</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.current_session_context_class">thread</property>
  </session-factory>
</hibernate-configuration>

@Entity
public class ReportTemplate{

    @Id
    @GeneratedValue
    private Integer id;

    @Lob
    private String body;
...
}

At save (or at read) operation with 'body' field value is broken. In DB stored Blob's OID.

The next code throw AssertionError:

String str="Русский текст";//Unicode string
rt = new ReportTemplate();
rt.setBody(str); 
Serializable id = hsm.getSession().save(rt);
hsm.commit();
hsm.getSession().clear();
rt = (ReportTemplate) hsm.getSession().get(ReportTemplate.class, id);
assert str.equals(rt.getBody());


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the hibernate-issues mailing list