这是我的问题:我已经成功实现了XML的解组和RDBMS中对象的存储。我可以很好地从数据库中检索对象。 但是,我似乎无法使编组部分正常工作。
这是我的编组代码:
//JAXB MARSHALLING
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Transaction tx = pm.currentTransaction();
try
{
tx.begin();
Extent e = pm.getExtent(DELVRY03Type.class,true);
Iterator iter = e.iterator();
while (iter.hasNext())
{
DELVRY03Type delvry03 = (DELVRY03Type)iter.next();
ObjectFactory objectFactory = new ObjectFactory();
JAXBElement<DELVRY03Type> je = objectFactory.createDELVRY03(delvry03);
marshaller.marshal(je, System.out);
}
tx.commit();
System.out.println("READ");
}
finally
{
if (tx.isActive())
{
tx.rollback();
}
pm.close();
}
DELVRY03Type是我的主类(xml根元素)。 奇怪的是,如果从数据库中检索到 delvry03 的内部对象(子项),我就可以很好地读取它们的属性。但这是从编组到XML的输出中显示的内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DELVRY03/> READ
可能是什么问题?怎么可能是对象没问题然后编组会产生一个空的根元素?
我试图在没有将对象存储在数据库中的情况下进行连接解组+编组,并且它完成了一个完美的编组操作,我很困惑。
任何帮助将不胜感激。