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]