On Jul 7, 2009, at 11:29 AM, Mark Aufdencamp wrote:

First off, Thanks to all of you for Geronimo. I know you all work very
hard to put out a great open source product.

I've recently, with the release of G 2.1.4 that incorporates OpenJPA
1.2, been able to move onto the G2 platform with a Java 6 JVM.  I had
some real issues trying to utilize G2 through G 2.1.3 due to MySQL,
OpenJPA, and EJB 2.1 CMP not playing nicely together.  (See posts from
Dec 2008 -
http://mail-archives.apache.org/mod_mbox/geronimo-user/200812.mbox/%3c20081206134911.181451e9c2a7ebbcd6ae28cea81146c8.79b7308154....@email.secureserver.net%3e)

It appears that EJB 2.1 CMP works with G 2.1.4 , OpenJPA 1.2, and
MySQL.   I've definitely needed to set the MySQL GLOBAL.sql_mode =
'ANSI', and have been successfully running an EJB 2.1 CMP application in development and testing for the last 6-8 weeks. However, I ran into the
old exception today (Persistence Exception - Syntax Error - TYPE =
innodb) in OpenJPA. This should have been covered by the global setting and I'm not sure why it was generated. I realize it's an OpenJPA issue rather than a Geronimo issue. I also realize that the MySQL JDBC driver does some odd things with it's schema information that help create this
problem.

I believe that setting the appropriate DBDictionary in OpenJPA's
persistence.xml would resolve this problem.   In G2.1/OpenEJB3 the
persistence.xml is automatically generated at deployment time with the
EJB 3 proxy classes for the 2.1 CMP EntityBeans.

What I'd really like to know is how to set the openjpa.jdbc.DBDictionary
to a MySQL setting in the persistence.xml when utilizing CMP 2.1 in
Geronimo.

How does one override/supplement the generated persistence.xml?

I don't know but I have 2 ideas to try...

1. What happens if you take the generated persistence.xml file and actually put it in the app, suitably edited? Will openejb3 use it? 2. IIRC the geronimo persistence builder has some attributes you can set that will be sort of defaults for persistence units that get deployed. I think one is a properties object, can you add the mysql settings to this? You should be able to override this in config.xml

hope this helps
david jencks



Thanks

Mark Aufdencamp
[email protected]

Reply via email to