Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/SDO/JAXB"

(Define the SDO Metadata)
(Get the SDO Type for a POJO)
Line 20: Line 20:
  
 
==Get the SDO Type for a POJO==
 
==Get the SDO Type for a POJO==
 +
From the JAXBHelperContext you can determine the SDO type from a POJO class.  This provides quick access to the necessary SDO metadata, to work with the data as SDO DataObjects.
 +
<pre>
 +
Type customerType = jaxbHelperContext.getType(Customer.class);
 +
DataObject customerDO = jaxbHelperContext.getDataFactory().create(customerType);
 +
</pre>
  
 
==Convert a POJO to a SDO DataObject==
 
==Convert a POJO to a SDO DataObject==
  
 
==Convert a SDO DataObject to a POJO==
 
==Convert a SDO DataObject to a POJO==

Revision as of 11:42, 30 January 2009

Overview

The JAXBHelperContext is a bridge between POJOs and SDO DataObjects. The bridge is based on their corresponding XML representations. For the POJOs the XML representation is specified using JAXB annotations or object-to-XML mappings.

Create the JAXBHelperContext

The JAXBHelperContext is instantiated using a JAXBContext. This JAXBContext represents the object-to-XML mapping for the POJOs. If static DataObjects are being used, a second constructor is offered that takes a ClassLoader as a parameter.

JAXBContext jaxbContext = JAXBContext.newInstance("com.example.customer");
JAXBHelperContext jaxbHelperContext = new JAXBHelperContext(jaxbContext);

For help on creating a JAXBContext see:

Define the SDO Metadata

An XML schema can be used to create the SDO metadata. This is the same schema that the POJOs are mapped to. This step has been separated so that SDO annotations could be added to the XML schema.

jaxbHelperContext.getXSDHelper().define(xmlSchema);

Get the SDO Type for a POJO

From the JAXBHelperContext you can determine the SDO type from a POJO class. This provides quick access to the necessary SDO metadata, to work with the data as SDO DataObjects.

Type customerType = jaxbHelperContext.getType(Customer.class);
DataObject customerDO = jaxbHelperContext.getDataFactory().create(customerType);

Convert a POJO to a SDO DataObject

Convert a SDO DataObject to a POJO