Veritabanındaki belirli bir veri kümesini xml'e yazmak istiyorum. Bu sayede tekrar kullanılabilir template kayıtlar oluşturmaya çalışacağım. Aşağıdaki kod parçacığı ile bunu yapabiliyorum.
// Read customer from database
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("CustomerService");
EntityManager em = emf.createEntityManager();
Customer customer = em.find(Customer.class, (long) 1);
// Save customer to XML
JAXBContext jc = JAXBContext.newInstance(Customer.class);
Marshaller marshaller = jc.createMarshaller();
StringWriter writer = new StringWriter();
marshaller.marshal(customer, writer);
// Load customer from XML
Unmarshaller unmarshaller = jc.createUnmarshaller();
StringReader reader = new StringReader(writer.toString());
Customer detachedCustomer =
(Customer) unmarshaller.unmarshal(reader);
detachedCustomer.setLastName("Jones");
// Persist customer to database
Customer mergedCustomer = em.merge(detachedCustomer);
em.getTransaction().begin();
em.persist(mergedCustomer);
em.getTransaction().commit();
em.close();
Kaynak : http://bdoughan.blogspot.com/2010/07/jpa-entities-to-xml-bidirectional.html
Entityler karmaşık relationlara sahip olduğu için infinite deep hatası alıyorum. Farklı entityler oluşturmadan sadece istediğim relation, entity ve fieldların map edilmesini istiyorum. Bunun kolay ve dinamik bir yolu varmıdır?
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|