I should have asked this before, but what version of OpenJPA are you running?
Thanks, Rick On Fri, Jul 20, 2012 at 12:09 PM, garpinc <garp...@yahoo.com> wrote: > here are the 2 classes involved in the annotation > package com.cambridgesemantics.anzo.relationalreplicator.openjpaplugin; > > import javax.xml.datatype.DatatypeConfigurationException; > import javax.xml.datatype.DatatypeFactory; > > import org.apache.openjpa.jdbc.kernel.JDBCStore; > import org.apache.openjpa.jdbc.meta.ValueMapping; > import org.apache.openjpa.jdbc.meta.strats.AbstractValueHandler; > > public abstract class XGCAbstractValueHandler extends AbstractValueHandler > { > @Override > public Object toObjectValue(ValueMapping vm, Object val) { > if (val == null) > return null; > try { > return > DatatypeFactory.newInstance().newXMLGregorianCalendar(val.toString()); > } catch (DatatypeConfigurationException e) { > e.printStackTrace(); > return null; > } > } > > @Override > public Object toDataStoreValue(ValueMapping vm, Object val, JDBCStore > store) { > if (val == null || !(val instanceof > javax.xml.datatype.XMLGregorianCalendar)) > return null; > > javax.xml.datatype.XMLGregorianCalendar date = > (javax.xml.datatype.XMLGregorianCalendar) val; > return date.toGregorianCalendar().getTime(); > } > > } > > > package com.cambridgesemantics.anzo.relationalreplicator.openjpaplugin; > > import org.apache.openjpa.jdbc.identifier.DBIdentifier; > import org.apache.openjpa.jdbc.meta.ValueMapping; > import org.apache.openjpa.jdbc.schema.Column; > import org.apache.openjpa.jdbc.schema.ColumnIO; > import org.apache.openjpa.jdbc.sql.DBDictionary; > import org.apache.openjpa.meta.JavaTypes; > > public class XGCTimestampValueHandler extends XGCAbstractValueHandler { > > private static final XGCTimestampValueHandler _instance = new > XGCTimestampValueHandler(); > > /** > * Singleton instance. > */ > public static XGCTimestampValueHandler getInstance() { > return _instance; > } > > @Deprecated > @Override > public Column[] map(ValueMapping vm, String name, ColumnIO io, boolean > adapt) { > DBDictionary dict = vm.getMappingRepository().getDBDictionary(); > DBIdentifier colName = DBIdentifier.newColumn(name, dict != null ? > dict.delimitAll() : false); > return map(vm, colName, io, adapt); > } > > public Column[] map(ValueMapping vm, DBIdentifier name, ColumnIO io, > boolean adapt) { > Column col = new Column(); > col.setIdentifier(name); > col.setJavaType(JavaTypes.DATE); > col.setType(java.sql.Types.TIMESTAMP); > return new Column[] { col }; > } > > } > > > > > -- > > -- *Rick Curtis*