Home » Modeling » EMF » Teneo - Map issue
| Teneo - Map issue [message #756629] |
Mon, 14 November 2011 09:32  |
Herve Ferreira Messages: 31 Registered: October 2011 |
Member |
|
|
I created a simple model that contains references (0..*) and maps.
If I use the GUI (using the menu Teneo option) and try to create the HBM no problem exists.
If I try to create the HBM programmatically, if I have one map, and only when I set one of the following property
props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
It throws one exception
java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
Is this a bug? limitation?
Thanks in Advance
|
|
|
| Re: Teneo - Map issue [message #756690 is a reply to message #756629] |
Mon, 14 November 2011 11:45   |
Martin Taal Messages: 5049 Registered: July 2009 |
Senior Member |
|
|
Hmm, an exception is a bug I guess. Can you post the complete stacktrace and all the properties you set?
gr. Martin
On 11/14/2011 03:32 PM, Herve Ferreira wrote:
>
> I created a simple model that contains references (0..*) and maps.
>
> If I use the GUI (using the menu Teneo option) and try to create the HBM no problem exists.
>
> If I try to create the HBM programmatically, if I have one map, and only when I set one of the following property
> props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
> props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
>
> It throws one exception
>
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
>
>
> Is this a bug? limitation?
>
> Thanks in Advance
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
| Re: Teneo - Map issue [message #756695 is a reply to message #756690] |
Mon, 14 November 2011 12:22   |
Herve Ferreira Messages: 31 Registered: October 2011 |
Member |
|
|
props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
props.setProperty(Environment.USER, "root");
props.setProperty(Environment.PASS, "mysql");
props.setProperty(Environment.URL, "jdbc:mysql://localhost:3306/tnt5");
props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLDialect.class.getName());
props.setProperty("hibernate.hbm2ddl.auto", "update");
props.setProperty("teneo.mapping.force_lazy", "true");
// props.setProperty("teneo.mapping.fetch_one_to_many_extra_lazy", "false");
// props.setProperty("teneo.mapping.set_proxy", "true");
props.setProperty("teneo.mapping.inheritance", "JOINED");
props.setProperty("teneo.mapping.always_version", "false");
props.setProperty("teneo.mapping.optimistic_locking", "false");
// props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
// props.setProperty("teneo.mapping.join_table_for_non_contained_associations", "true");
// props.setProperty("teneo.mapping.set_entity_automatically", "true");
// props.setProperty(PersistenceOptions.EMAP_AS_TRUE_MAP, "true");
String dataStoreName = "LibraryDataStore";
HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
dataStore.setDataStoreProperties(props);
//HbSessionDataStore dataStore = (HbSessionDataStore) HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
//Configuration cfg = new Configuration().configure("persistence.xml");
//dataStore.setConfiguration(cfg);
dataStore.setEPackages(new EPackage[] { OjeandbPackage.eINSTANCE, PessoaPackage.eINSTANCE });
// initialize the data store, which creates the tables
try {
dataStore.initialize();
} finally {
// print the generated mapping
System.err.println(dataStore.getMappingXML());
}
null
java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.processOtMUni(OneToManyMapper.java:189)
at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.process(OneToManyMapper.java:57)
at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.processPAnnotatedEReference(FeatureMapper.java:191)
at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.process(FeatureMapper.java:107)
at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeature(EntityMapper.java:725)
at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeatures(EntityMapper.java:612)
at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processEntity(EntityMapper.java:426)
at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPAClass(HibernateMappingGenerator.java:238)
at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPersistentClasses(HibernateMappingGenerator.java:180)
at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generate(HibernateMappingGenerator.java:124)
at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generateToString(HibernateMappingGenerator.java:149)
at org.eclipse.emf.teneo.hibernate.HbDataStore.mapEPackages(HbDataStore.java:1030)
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.mapModel(HbSessionDataStore.java:192)Commit Done *ERRORS*
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initialize(HbSessionDataStore.java:98)
at com.nsn.CreateHBM.main(CreateHBM.java:66)
Exception in thread "main" java.lang.NullPointerException
at com.nsn.CreateHBM.main(CreateHBM.java:90)
|
|
|
| Re: Teneo - Map issue [message #756767 is a reply to message #756695] |
Mon, 14 November 2011 19:33   |
Martin Taal Messages: 5049 Registered: July 2009 |
Senior Member |
|
|
Hmm, seems to be a bug?
Can you enter a bugzilla for it?
gr. Martin
On 11/14/2011 06:22 PM, Herve Ferreira wrote:
>
> props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
> props.setProperty(Environment.USER, "root");
> props.setProperty(Environment.PASS, "mysql");
> props.setProperty(Environment.URL, "jdbc:mysql://localhost:3306/tnt5");
> props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLDialect.class.getName());
>
> props.setProperty("hibernate.hbm2ddl.auto", "update");
> props.setProperty("teneo.mapping.force_lazy", "true");
> // props.setProperty("teneo.mapping.fetch_one_to_many_extra_lazy", "false");
> // props.setProperty("teneo.mapping.set_proxy", "true");
>
>
> props.setProperty("teneo.mapping.inheritance", "JOINED");
> props.setProperty("teneo.mapping.always_version", "false");
> props.setProperty("teneo.mapping.optimistic_locking", "false");
> // props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
> props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
> // props.setProperty("teneo.mapping.join_table_for_non_contained_associations", "true");
> // props.setProperty("teneo.mapping.set_entity_automatically", "true");
> // props.setProperty(PersistenceOptions.EMAP_AS_TRUE_MAP, "true");
>
>
> String dataStoreName = "LibraryDataStore";
>
> HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
> dataStore.setDataStoreProperties(props);
>
> //HbSessionDataStore dataStore = (HbSessionDataStore) HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
> //Configuration cfg = new Configuration().configure("persistence.xml");
> //dataStore.setConfiguration(cfg);
>
>
>
> dataStore.setEPackages(new EPackage[] { OjeandbPackage.eINSTANCE, PessoaPackage.eINSTANCE });
>
> // initialize the data store, which creates the tables
> try {
> dataStore.initialize();
> } finally {
> // print the generated mapping
> System.err.println(dataStore.getMappingXML());
> }
>
>
>
>
>
>
>
>
> null
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
> at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.processOtMUni(OneToManyMapper.java:189)
> at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.process(OneToManyMapper.java:57)
> at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.processPAnnotatedEReference(FeatureMapper.java:191)
> at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.process(FeatureMapper.java:107)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeature(EntityMapper.java:725)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeatures(EntityMapper.java:612)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processEntity(EntityMapper.java:426)
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPAClass(HibernateMappingGenerator.java:238)
> at
> org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPersistentClasses(HibernateMappingGenerator.java:180)
>
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generate(HibernateMappingGenerator.java:124)
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generateToString(HibernateMappingGenerator.java:149)
> at org.eclipse.emf.teneo.hibernate.HbDataStore.mapEPackages(HbDataStore.java:1030)
> at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.mapModel(HbSessionDataStore.java:192)Commit Done *ERRORS*
>
> at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initialize(HbSessionDataStore.java:98)
> at com.nsn.CreateHBM.main(CreateHBM.java:66)
> Exception in thread "main" java.lang.NullPointerException
> at com.nsn.CreateHBM.main(CreateHBM.java:90)
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| |
Goto Forum:
Current Time: Tue May 21 13:24:14 EDT 2013
Powered by FUDForum. Page generated in 0.02784 seconds
|