2010-11-26 9 views
0

Wir verwenden Hibernate, um Daten aus Oracle-Datenbank zu laden. Ich muss die Daten aus einer der Tabellen laden und dann ausgewählte Daten aus dieser Tabelle als XML-Datei in einer anderen Tabelle speichern. Es wäre großartig, wenn jemand vorschlagen könnte, was wäre der beste Weg, um diese Funktionalität zu erreichen?Suggestion erforderlich für persistente Java-Objekte zu xml

Antwort

-1

Sie können xmlbeans

+0

XMLBeans generiert ein eigenes Objektmodell und kann nicht mit den in dieser Frage beschriebenen Entitäten verwendet werden. –

1

Verwenden Xstream von ThougthWorks einen Blick darauf werfen.

"XStream ist eine einfache Bibliothek zum Serialisieren von Objekten in XML und wieder zurück."

+1

In dieser Frage sind die Objekte tatsächlich JPA-Entitäten, da XStream den Feldzugriff zum Verarbeiten von Objekten verwendet, was Probleme mit verzögerten geladenen Eigenschaften verursachen kann (siehe http://stackoverflow.com/questions/328832/issue-with-serializing-hibernate-objects -use-xstream). –

1

XMLEncoder (java.beans.XMLEncoder) ist bereits im JDK enthalten und ermöglicht es Ihnen, Java-Objekte zu XML ohne externe Bibliotheken oder Werkzeuge zu bestehen.

Ein Beispiel Klasse:

public class Foo { 
    private String foo ; 

    public void setFoo(String s) { 
    foo = s; 
    } 

    public String getFoo() { 
    return foo; 
    } 
} 

Helper-Klasse XML zu serialisiert:

import java.beans.XMLEncoder; 
import java.io.*; 

public class FooHelper { 
    public static void write(Foo f, String filename) throws Exception{ 
     XMLEncoder encoder = 
      new XMLEncoder(
       new BufferedOutputStream(
       new FileOutputStream(filename))); 
     encoder.writeObject(f); 
     encoder.close(); 
    } 
} 

Das resultierende XML:

<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.5.0-beta" class="java.beans.XMLDecoder"> 
<object class="Foo"> 
    <void property="foo"> 
    <string>bar</string> 
    </void> 
</object> 
</java> 
1

Wenn Sie JPA verwenden, um Ihre Einheiten dann bestehen bleiben schau dir an, ob du deinen Provider auf EclipseLink umstellen kannst. Wenn Sie die same JPA persistent pojos to XML für Sie konvertieren können. Sie müssen also nur mit einer einzigen Bibliothek arbeiten.

+0

+1, lesen Sie mein Blog für weitere Beispiele zur Verwendung von EclipseLink JAXB (MOXy): http://bdoughan.blogspot.com/ –