2010-12-16 7 views
0

Ich verwende Playframework mit einer älteren SQL Server 2008-Datenbank, die Daten in XML-Spalten gespeichert hat. Ich möchte in der Lage sein, auf den XML vom Java-Objekt als String zuzugreifen. Ich habe versucht, einfach die Spalte als String für das Java-Objekt zu deklarieren, aber es wird nicht gefüllt. Ich habe versucht, den Microsoft SQL Server JDBC-Treiber und auch den jTDS-Treiber zu verwenden. Ich verwende Hibernate als JPA-Provider, könnte aber zu einem anderen Anbieter wechseln, wenn dies hilfreich wäre.Kann ich eine SQLServer XML-Spalte mithilfe von JPA einer Zeichenfolge in Java zuordnen?

Gibt es eine Möglichkeit, die XML-Spalte einer String-Eigenschaft auf dem Objekt zuzuordnen? Muss ich einen Hibernate UserType schreiben? Oder sollte ich eine niedrigere API verwenden, um dies zu erreichen?

Antwort

0

Die Zeichenfolge wird doch gemappt! Die Hibernate-Zuordnung zwischen XML und String funktioniert wie erwartet. Es stellt sich heraus, dass einige falsche Annahmen über die Struktur des XML-Codes dazu führten, dass der Zielknoten nicht korrekt extrahiert wurde und die Protokollierungsebene nicht auf DEBUG gesetzt war, sodass das Roh-XML nicht sichtbar war. Eine Lektion für das Offensichtliche, bevor das Schlimmste angenommen wird.

0

Hibernate UserType Sound korrekt. Aber ich fürchte, Sie müssen dann einen benutzerdefinierten Typ verwenden, also definieren Sie Ihre Spalte als XMLColumn, wo XMLColumn Ihre Daten enthält.

Verwandte Themen