Now I've tried it on another way:
1- download apache-openjpa-2.0.0-M3 and apache-openjpa-1.2.1:
gilbe...@sugep-dmasi:~/bin/apache-openjpa-2.0.0-M3/
gilbe...@sugep-dmasi:~/bin/apache-openjpa-1.2.1/
2- applied the patch[1]
3- create a new directory example from reversemapping one:
gilbe...@sugep-dmasi
:~/bin/apache-openjpa-2.0.0-M3/examples/park_schema/build.xml
gilbe...@sugep-dmasi
:~/bin/apache-openjpa-2.0.0-M3/examples/park_schema/schema
gilbe...@sugep-dmasi
:~/bin/apache-openjpa-2.0.0-M3/examples/park_schema/schema/dropdb.sql
gilbe...@sugep-dmasi
:~/bin/apache-openjpa-2.0.0-M3/examples/park_schema/schema/ToursDB_schema.sql
Changed dropdb.sql and ToursDB_schema.sql to drop and create my own
database.
I did it for apache-openjpa-1.2.1 as well.
4-run ant
[sql] Executing resource:
/home/gilberto/dev/bin/apache-openjpa-1.2.1/examples/park_schema/schema/ToursDB_schema.sql
[sql] 27 of 27 SQL statements executed
successfully
reverse-map-schema:
[reversemappingtool] 515 none INFO [main] openjpa.Tool - The reverse
mapping tool will run on the database. The tool is gathering schema
information; this process may take some time. Enable the
org.apache.openjpa.jdbc.Schema logging category to see messages about schema
data.
[reversemappingtool] 1000 none INFO [main] openjpa.jdbc.JDBC - Using
dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
[reversemappingtool] <openjpa-1.2.1-r752877:753278 fatal user error>
org.apache.openjpa.util.UserException: A connection could not be obtained
for driver class "org.apache.derby.jdbc.EmbeddedDriver" and URL
"jdbc:derby:/home/gilberto/bin/apache-openjpa-1.2.1/examples/park_schema/park_schema-database;create=true".
You may have specified an invalid URL.
That one will fail because we are using an Embedded instance of Derby and we
have two task in the build.xml file that is trying to it.
So, to correct it, run it again with the following parameter: ant
-Dinitialize-db-skip=true
But... With apache-openjpa-1.2.1 version I could generate the orm.xml file.
It doesn't work with apache-openjpa-2.0.0-M3 version, giving me this error:
gilbe...@sugep-dmasi:~/bin/apache-openjpa-2.0.0-M3/examples/park_schema> ant
-Dinitialize-db-skip=true
Buildfile:
build.xml
initialize-db:
reverse-map-schema:
[reversemappingtool] 586 none INFO [main] openjpa.Tool - The reverse
mapping tool will run on the database. The tool is gathering schema
information; this process may take some time. Enable the
org.apache.openjpa.jdbc.Schema logging category to see messages about schema
data.
[reversemappingtool] 1395 none INFO [main] openjpa.jdbc.JDBC - Using
dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
[reversemappingtool] java.sql.SQLException: Table "APP.CUSTOMER" has a
foreign key to table "APP.PERSON" that has not been generated. You must run
the schema generator on all inter-related tables at
once.
[reversemappingtool] at
org.apache.openjpa.jdbc.schema.SchemaGenerator.generateForeignKeys(SchemaGenerator.java:780)
[reversemappingtool] at
org.apache.openjpa.jdbc.schema.SchemaGenerator.generateForeignKeys(SchemaGenerator.java:731)
[reversemappingtool] at
org.apache.openjpa.jdbc.schema.SchemaGenerator.generateForeignKeys(SchemaGenerator.java:431)
[reversemappingtool] at
org.apache.openjpa.jdbc.schema.SchemaGenerator.generateSchemas(SchemaGenerator.java:278)
[reversemappingtool] at
org.apache.openjpa.jdbc.schema.SchemaGenerator.generateSchemas(SchemaGenerator.java:243)
[reversemappingtool] at
org.apache.openjpa.jdbc.meta.ReverseMappingTool.run(ReverseMappingTool.java:1974)
[reversemappingtool] at
org.apache.openjpa.jdbc.ant.ReverseMappingToolTask.executeOn(ReverseMappingToolTask.java:287)
[reversemappingtool] at
org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:171)
[reversemappingtool] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[reversemappingtool] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[reversemappingtool] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[reversemappingtool] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[reversemappingtool] at
java.lang.reflect.Method.invoke(Method.java:597)
[reversemappingtool] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[reversemappingtool] at
org.apache.tools.ant.Task.perform(Task.java:348)
[reversemappingtool] at
org.apache.tools.ant.Target.execute(Target.java:357)
[reversemappingtool] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[reversemappingtool] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
[reversemappingtool] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[reversemappingtool] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[reversemappingtool] at
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
[reversemappingtool] at
org.apache.tools.ant.Main.runBuild(Main.java:758)
[reversemappingtool] at
org.apache.tools.ant.Main.startAnt(Main.java:217)
[reversemappingtool] at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[reversemappingtool] at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
That's all!
For now, I will work with the apache-openjpa-1.2.1 version of the orm.xml
file.
Gilberto
[1]
http://issues.apache.org/jira/secure/attachment/12430065/OPENJPA-1091.1.2.x.diff.txt
--
View this message in context:
http://n2.nabble.com/ReverseMappingTool-generate-orm-xml-from-Database-schema-tp4261755p4440094.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.