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 <dt0...@retail-sc.com>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 <curti...@gmail.com> > To: users@openjpa.apache.org > 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 > <dt0...@retail-sc.com>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*