เรากำลังใช้ไฮเบอร์เนตเพื่อโหลดข้อมูลจากฐานข้อมูล oracle ฉันต้องโหลดข้อมูลจากตารางใดตารางหนึ่ง จากนั้นจัดเก็บข้อมูลที่เลือกจากตารางนี้เป็นไฟล์ xml ไว้ในตารางอื่น คงจะดีไม่น้อยหากมีใครสามารถแนะนำได้ว่าอะไรคือวิธีที่ดีที่สุดในการบรรลุฟังก์ชันนี้
คำแนะนำที่จำเป็นสำหรับการคงวัตถุ Java ไว้เป็น xml
คำตอบ (5)
ดูคำถามนี้ซึ่งกล่าวถึงไลบรารี (เช่น JAXB และ XStream) ที่คุณสามารถใช้เพื่อแปลงวัตถุ Java เป็น XML
วิธีที่ดีที่สุดในการแปลงวัตถุ Java เป็น XML ด้วย Open Source APIs คืออะไร
person
dogbane
schedule
26.11.2010
ใช้ Xstream ของ ThougthWorks
"XStream เป็นไลบรารีง่ายๆ ที่ทำให้วัตถุเป็นอนุกรมเป็น XML และกลับมาอีกครั้ง"
person
Boris Pavlović
schedule
26.11.2010
ในคำถามนี้ วัตถุนั้นเป็นเอนทิตี JPA จริง ๆ เนื่องจาก XStream ใช้การเข้าถึงภาคสนามเพื่อประมวลผลวัตถุ ซึ่งอาจทำให้เกิดปัญหากับคุณสมบัติที่โหลดแบบสันหลังยาว (ดู stackoverflow.com/questions/328832/)
- person bdoughan; 26.11.2010
XMLEncoder (java.beans.XMLEncoder) คือ รวมอยู่ใน 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>
person
Martin Gross
schedule
26.11.2010
หากคุณใช้ JPA เพื่อยืนยันเอนทิตีของคุณ ให้ดูว่าคุณสามารถเปลี่ยนผู้ให้บริการของคุณเป็น EclipseLink. หากสามารถแปลง pojos ถาวร JPA เดียวกันเป็น XML ให้กับคุณได้ ดังนั้นคุณจะต้องจัดการกับห้องสมุดเดียวเท่านั้น
person
Aravind Yarram
schedule
26.11.2010
+1 ตรวจสอบบล็อกของฉันเพื่อดูตัวอย่างเพิ่มเติมเกี่ยวกับการใช้ EclipseLink JAXB (MOXy): bdoughan.blogspot.com
- person bdoughan; 26.11.2010
คุณสามารถดูได้ที่ xmlbeans
person
Cyrille Ka
schedule
26.11.2010
XMLBeans สร้างโมเดลออบเจ็กต์ของตัวเองและไม่สามารถใช้กับเอนทิตีที่มีอยู่ซึ่งอธิบายไว้ในคำถามนี้
- person bdoughan; 26.11.2010