将java对象持久化为xml所需的建议

将java对象持久化为xml所需的建议,java,xml,hibernate,xml-binding,Java,Xml,Hibernate,Xml Binding,我们正在使用hibernate从oracle数据库加载数据。我需要加载其中一个表中的数据,然后将此表中选定的数据作为xml文件存储在另一个表中。如果有人能建议,实现此功能的最佳方法是什么,那就太好了。您可以看看您可以看看ThoughtWorks的使用 “XStream是一个简单的库,可以将对象序列化为XML并再次序列化。”使用ThoughthWorks “XStream是一个简单的库,可以将对象序列化为XML并再次序列化。”看看这个问题,它讨论了可用于将Java对象转换为XML的库(如JAXB和

我们正在使用hibernate从oracle数据库加载数据。我需要加载其中一个表中的数据,然后将此表中选定的数据作为xml文件存储在另一个表中。如果有人能建议,实现此功能的最佳方法是什么,那就太好了。

您可以看看您可以看看ThoughtWorks的使用

“XStream是一个简单的库,可以将对象序列化为XML并再次序列化。”

使用ThoughthWorks


“XStream是一个简单的库,可以将对象序列化为XML并再次序列化。”

看看这个问题,它讨论了可用于将Java对象转换为XML的库(如JAXB和XStream)


看看这个问题,它讨论了可用于将Java对象转换为XML的库(如JAXB和XStream)

已经包含在JDK中,使您能够将java对象持久化为XML,而无需任何外部库或工具

一个示例类:

public class Foo {
   private String foo ;

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

   public String getFoo() {
     return foo;
   }
}
要序列化为XML的帮助器类:

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();
    }
}
生成的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>

酒吧
已经包含在JDK中,使您能够将java对象持久化为XML,而无需任何外部库或工具

一个示例类:

public class Foo {
   private String foo ;

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

   public String getFoo() {
     return foo;
   }
}
要序列化为XML的帮助器类:

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();
    }
}
生成的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>

酒吧

如果您使用JPA持久化实体,那么请查看是否可以将提供商切换到。如果可以为您转换。因此,您只需处理单个库。

如果您使用JPA来持久化实体,那么请查看是否可以将提供者切换到。如果可以为您转换。因此,您只需处理单个库。

+1,查看我的博客了解更多关于使用EclipseLink JAXB(MOXy)的示例:+1,查看我的博客了解更多关于使用EclipseLink JAXB(MOXy)的示例:在这个问题中,对象实际上是JPA实体,由于XStream使用字段访问来处理对象,这可能会导致延迟加载属性的问题(请参阅)。在这个问题中,对象实际上是JPA实体,因为XStream使用字段访问来处理对象,这可能会导致延迟加载属性的问题(请参阅).XMLBeans生成自己的对象模型,不能与本问题中描述的现有实体一起使用。XMLBeans生成自己的对象模型,不能与本问题中描述的现有实体一起使用。