Community
Participate
Working Groups
I've started converting Ecore-Annotations to influence the hbm.xml and DDL-Creation into the external persistence.xml to take care of database-engine differences. I've been successfull beside one minor thing. Using Ecore-Annotations I've defined a Unique-Key on an EClass like this: > > <eAnnotations source="teneo.jpa"> > > <details key="value" value="@Table(uniqueConstraints = {@UniqueConstraint(columnNames={"LANGUAGECODE", "COUNTRYCODE","VARIANT"})})"/> > > </eAnnotations> but I'm unable to port this over to the annotation.xml-File where I've tried it like this: > > <p:table> > > <p:unique-constraint>LANGUAGECODE,COUNTRYCODE,VARIANT</p:unique-constraint> > > </p:table> But when generating this results in an CCE shown below: > > INFO: Class loader strategy set to: org.eclipse.emf.teneo.classloader.ContextClassLoaderStrategy > > java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Collection > > at org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl.eSet(UniqueConstraintImpl.java:97) > > at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:1081) > > at org.eclipse.emf.teneo.annotations.xml.XmlPersistenceContentHandler.characters(XmlPersistenceContentHandler.java:386) > > at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source) > > at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.characters(Unknown Source) > > at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) > > at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) > > at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) > > at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) > > at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) > > at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) > > at javax.xml.parsers.SAXParser.parse(Unknown Source) > > at javax.xml.parsers.SAXParser.parse(Unknown Source) > > at org.eclipse.emf.teneo.annotations.xml.XmlPersistenceMapper.applyPersistenceMapping(XmlPersistenceMapper.java:109) > > at org.eclipse.emf.teneo.annotations.mapper.PersistenceMappingBuilder.buildMapping(PersistenceMappingBuilder.java:157) > > at org.eclipse.emf.teneo.annotations.mapper.PersistenceMappingBuilder.buildMapping(PersistenceMappingBuilder.java:73) > > at org.eclipse.emf.teneo.hibernate.HbHelper.generateMapping(HbHelper.java:204) > > at com.bizerba.retail.model.devtool.HbmGenerateAction.generateHbmXML(HbmGenerateAction.java:82) > > at com.bizerba.retail.model.devtool.HbmGenerateAction.createFirebird(HbmGenerateAction.java:123) > > at com.bizerba.retail.model.devtool.HbmGenerateAction.run(HbmGenerateAction.java:195)
Fixed and new build published.