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*

Reply via email to