2016-03-21 7 views
3

JPA Mapping

Ich verwende JPA mit Hibernate. Ich habe ein Unternehmen mit einer @Lob EigenschaftJPA @Lob Eigenschaftscodierung funktioniert nicht mit PosgreSQL Text

@Column(nullable=false) 
@Lob 
private String text; 

Ich bin mit PostgreSQL 8.4 und dem Entity korrekt mit der Spalte

"text" text NOT NULL 

Meine Ansicht Seiten werden mit UTF-8-Codierung abgebildet wurde und meine URL-Verbindung ist auch mit der richtigen Codierung:

<property name="url" value="jdbc:postgresql://myhostip:port/mydb?useUnicode=yes&amp;characterEncoding=UTF-8" /> 

auch meine client_encoding auf PosgreSQL ist Unicode (mit Abfrage-Tool) oder UTF-8 (mit psql).

Das Problem

Obwohl ich die Daten lesen kann/anhalten, wenn ich es anzuzeigen gibt es einige Codierung Probleme wie zeigt.

Eine weitere Information ist, auf der gleichen Entität habe ich eine andere String Eigenschaften werden für den gleichen Inhalt der @Lob-Eigenschaft korrekt angezeigt.

Ich habe exportiert auch die Text Eigenschaft von psql zu einer test.txt Datei und der Inhalt ist in Ordnung.

Ich habe den Wert der Eigenschaft kurz vor dem Fortsetzen (Debugging) getestet und der Wert ist korrekt.

Weiß jemand, was ich hier vermisse?

Vielen Dank im Voraus!

+0

FYI hinzuzufügen: die korrekte PostgreSQLs JDBC-Parameter ist 'charset = UTF-8' ([8,4 zu] (https://jdbc.postgresql.org/documentation /84/connect.html#connection-parameters)) – pozs

Antwort

2

Basierend auf this try Anmerkung @Type(type="org.hibernate.type.StringClobType") nach @Lob

+0

Das ist es @ D0dger! Löste mein Problem! Vielen Dank! –

Verwandte Themen