Then following Stacktrace is displayed:
Caused by: <openjpa-1.2.1-r752877:753278 fatal user error>
org.apache.openjpa.persistence.ArgumentException: Errors encountered while
resolving metadata. See nested exceptions for details.
at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:563)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:308)
...
Caused by: java.lang.IllegalStateException: No registered metadata for
type "class com.retail_sc.test.entity.Group".
at
org.apache.openjpa.enhance.PCRegistry.getMeta(PCRegistry.java:255)
at
org.apache.openjpa.enhance.PCRegistry.newInstance(PCRegistry.java:111)
...
Best regards Marcel
From: Rick Curtis <[email protected]>
To: [email protected]
Date: 10.08.2011 18:04
Subject: Re: Problems when using "openjpa.MetaDataFactory" Property
See if setting this property works for you. --> <property
name="openjpa.MetaDataFactory"
value="org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory/>
Thanks,
Rick
On Wed, Aug 10, 2011 at 10:48 AM, Marcel Urbanek
<[email protected]>wrote:
> Sure.
>
> My Entity looks like the following:
>
> @Entity
> @Table(name="MPTZZY")
> public class Group extends UpdateEntity{
>
> /*Remark text*/
> @Column(name = "TE_RMK",
> length=20)
> private String remarkText;
> [...]
>
>
> The according Junit Test is the following (EJB-Services are implemented
> straight forward):
>
> GroupServiceLocal tempGroupService = (GroupServiceLocal)
> initialContext.lookup(GroupServiceLocal.class.getCanonicalName());
> PersonServiceLocal tempPersonService = (PersonServiceLocal)
> initialContext.lookup(PersonServiceLocal.class.getCanonicalName());
> GroupPK tempPK=new GroupPK();
>
> Person tempPerson=new Person();
> tempPerson.getId().setPersonName("Marcel");
> tempPerson.setAgeNumber((short) 29);
> tempPerson.setRemarkText("TEST");
>
> Group tempGroup=new Group();
> tempGroup.getId().setGroupName("AA Team");
> tempGroup.getId().setGroupNumber((short)1);
> tempGroup.getId().setValidFromDate(new Date());
> tempGroup.setRemarkText("AA Team");
> tempGroup.getPersons().add(tempPerson);
> tempPerson.setGroup(tempGroup);
> tempGroupService.createGroup(tempGroup);
>
> When running the test with the following property in the
persistence.xml:
>
> <property name="openjpa.MetaDataFactory" value="jpa"/>
>
> everything works fine.
>
> But when I change the property into:
>
> <property name="openjpa.MetaDataFactory" value=
> "org.apache.openjpa.persistence.PersistenceMetaDataFactory"/>
>
> (which should be essentially the same, according to the document
mentioned
> in the mail before) the test fails with following error message:
>
> <openjpa-1.2.1-r752877:753278 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException:
> DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC:
> I01W90.GROUPSQLCA OUTPUT[Errp=DSNXERT2, Errd=-335, 0, 0, -1, 0, 0]
> DB2 SQL error: SQLCODE: -516, SQLSTATE: 26501, SQLERRMC: null
> DB2 SQL error: SQLCODE: -518, SQLSTATE: 07003, SQLERRMC: null
> FailedObject: prepstmnt 18898317 INSERT INTO i01w90.Group
> (groupName, groupNumber, validFromDate, remarkText, date, time, user)
> VALUES (?, ?, ?, ?, ?, ?, ?)
>
[org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement]
>
> Obviously OpenJPA now does not use the column names I specified (for
> example "TE_RMK") but instead uses the Java attribute name
("remarkText").
>
> Best regards Marcel
>
>
>
>
> From: Rick Curtis <[email protected]>
> To: [email protected]
> Date: 10.08.2011 16:12
> Subject: Re: Problems when using "openjpa.MetaDataFactory"
Property
>
>
>
> Can you post a unit test to help us better understand where you're
running
> into problems?
>
> Thanks,
> Rick
>
> On Wed, Aug 10, 2011 at 4:49 AM, Marcel Urbanek
> <[email protected]>wrote:
>
> > Hi,
> >
> > I want to overwrite the MetaDataFactory like described here:
> >
> >
>
>
http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/ref_guide_meta.html
>
> >
> > But it turned out it doesn't work. I managed to develop a test
scenario
> > which easily produces the behaviour I encountered.
> >
> > What _does_ work is the following:
> >
> > Adding
> > <property name="openjpa.MetaDataFactory" value="jpa"/>
> > to persistence.xml.
> >
> > When setting this property my junit test (persisting a simple
> association,
> > using @Column Annotation to use differing column names) does work.
> >
> >
> > According to the document above, this property Tag should be
equivalent
> to
> > the setting above:
> >
> > <property name="openjpa.MetaDataFactory"
> > value="org.apache.openjpa.persistence.PersistenceMetaDataFactory"/>
> >
> > But when using this configuration my junit test fails. The differing
> > Column Names set by the @Column.name Attribute are no longer found.
> > Instead the Java Attribute-Names are used in the SQL.
> >
> > My problem is, that I want to implement a custom MetaDataFactory and
> this
> > doesn't work either (which is expected, because I extend
> > PersistenceMetaDataFactory). Is there something I missed?
> >
> > (I'm using openjpa 2.11 with openejb 4.0.0 snapshot)
> >
> > Best regards Marcel
> > --
> > RSC Commercial Services GmbH & Co. OHG, Wanheimer Strasse 70, D-40468
> > Duesseldorf - Sitz: Duesseldorf - Registergericht: Duesseldorf HRA
12655
> > Persoenlich haftende Gesellschafter:
> > C&A Retail GmbH - Sitz: Zug/Schweiz - Handelsregister Kanton Zug:
> > CH-170.4.010.137-5
> > Geschaeftsfuehrer: Bart F. Brenninkmeijer, Martijn N. N.
Brenninkmeijer,
> > Tjeerd E. van der Zee, Robert H. A. M. Smeele, Anthony H. Stam,
> > FRM PARTICIPATIONS S.A. - Sitz: Luxemburg/Luxemburg - Handels- und
> > Firmenregister Luxemburg: B 58158
> > Verwaltungsratsmitglieder: Rafael G. E. Bogaerts, John Drury, Michel
de
> > Groote, Johny Seré, Robert H. A. M. Smeele
> >
> >
>
>
> --
> *Rick Curtis*
>
>
> --
> RSC Commercial Services GmbH & Co. OHG, Wanheimer Strasse 70, D-40468
> Duesseldorf - Sitz: Duesseldorf - Registergericht: Duesseldorf HRA 12655
> Persoenlich haftende Gesellschafter:
> C&A Retail GmbH - Sitz: Zug/Schweiz - Handelsregister Kanton Zug:
> CH-170.4.010.137-5
> Geschaeftsfuehrer: Bart F. Brenninkmeijer, Martijn N. N. Brenninkmeijer,
> Tjeerd E. van der Zee, Robert H. A. M. Smeele, Anthony H. Stam,
> FRM PARTICIPATIONS S.A. - Sitz: Luxemburg/Luxemburg - Handels- und
> Firmenregister Luxemburg: B 58158
> Verwaltungsratsmitglieder: Rafael G. E. Bogaerts, John Drury, Michel de
> Groote, Johny Seré, Robert H. A. M. Smeele
>
>
--
*Rick Curtis*
--
RSC Commercial Services GmbH & Co. OHG, Wanheimer Strasse 70, D-40468
Duesseldorf - Sitz: Duesseldorf - Registergericht: Duesseldorf HRA 12655
Persoenlich haftende Gesellschafter:
C&A Retail GmbH - Sitz: Zug/Schweiz - Handelsregister Kanton Zug:
CH-170.4.010.137-5
Geschaeftsfuehrer: Bart F. Brenninkmeijer, Martijn N. N. Brenninkmeijer, Tjeerd
E. van der Zee, Robert H. A. M. Smeele, Anthony H. Stam,
FRM PARTICIPATIONS S.A. - Sitz: Luxemburg/Luxemburg - Handels- und
Firmenregister Luxemburg: B 58158
Verwaltungsratsmitglieder: Rafael G. E. Bogaerts, John Drury, Michel de Groote,
Johny Seré, Robert H. A. M. Smeele