Apologies for this long post. But the ReverseMappingTool seems to be giving
some problem. I was trying to reverse map my DB tables (in Derby) so I tried
it with the "reversemapping example" code and still gives the same problem.
Can anyone help? Problem described below.

I am using apache-openjpa-2.0.0-M3. I navigate to the example folder. Run
the build using command "ant". As expected (since I am using Derby) this
this gives error related to the databased connection. which says:

[reversemappingtool] 1138  none  INFO   [main] openjpa.Tool - The reverse
mappin
g 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] 3400  none  INFO   [main] openjpa.jdbc.JDBC - Using
diction
ary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
[reversemappingtool] <openjpa-2.0.0-M3-r422266:822833 fatal user error>
org.apac
he.openjpa.util.UserException: A connection could not be obtained for driver
cla
ss "org.apache.derby.jdbc.EmbeddedDriver" and URL
"jdbc:derby:D:\Ani\Dev\apache-
openjpa-2.0.0-M3\examples\reversemapping/reversemapping-database;create=true".
You may have specified an invalid URL.


As I understand the this is caused by the Derby Embedded Driver. However the
"reversemapping-database" is successfully created and the data from sql
scripts is populated in the tables. So I run the ant script again as below:
ant -Dinitialize-db-skip=true

This time it runs but the problem is it creates only one file called
Airline.java and it includes all the fields of all the tables Airline.java.
Even the orm.xml looks like all the field of all the tables are mapped to a
single Airline class. I have attached both the generated files. Any help?

The console output of the command is as below:

Buildfile:
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reversemapping\build.xml

initialize-db:

reverse-map-schema:
[reversemappingtool] 1061  none  INFO   [main] openjpa.Tool - The reverse
mappin
g 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] 3354  none  INFO   [main] openjpa.jdbc.JDBC - Using
diction
ary class "org.apache.openjpa.jdbc.sql.DerbyDictionary".
[reversemappingtool] 9547  none  INFO   [main] openjpa.Tool -
ReverseMappingTool
 : generating classes.
[reversemappingtool] 9547  none  INFO   [main] openjpa.MetaData - Customized
nam
e found for class "reversemapping.Airlines": will rename as
"reversemapping.Airl
ine".
[reversemappingtool] 10437  none  INFO   [main] openjpa.MetaData -
Customized na
me found for field "airline" in type "reversemapping.Airline": will rename
as "r
eversemapping.Airline".
[reversemappingtool] 10515  none  INFO   [main] openjpa.MetaData -
Customized na
me found for field "airlineFull" in type "reversemapping.Airline": will
rename a
s "reversemapping.Airline".
[reversemappingtool] 10530  none  WARN   [main] openjpa.MetaData - Column
"AIRLI
NES.MEAL" is type CHAR(1), but OpenJPA cannot reverse map it into a Java
char be
cause OpenJPA is currently configured to store Java chars into numeric
database
columns.  To configure OpenJPA to store Java chars into CHAR(1) columns, set
the
 following property:
[reversemappingtool] openjpa.jdbc.DBDictionary: StoreCharsAsNumbers=false
[reversemappingtool] 10561  none  INFO   [main] openjpa.MetaData - Table
"SYSIBM
.AIRLINES" could not be reverse mapped.  This means that the table does not
have
 a primary key (primary keys are required to establish unique identifiers
for al
l persistent objects) and does not match a known pattern for a table used
for cr
oss-reference or value collections.
[reversemappingtool] 10561  none  INFO   [main] openjpa.MetaData - Table
"SYS.AI
RLINES" could not be reverse mapped.  This means that the table does not
have a
primary key (primary keys are required to establish unique identifiers for
all p
ersistent objects) and does not match a known pattern for a table used for
cross
-reference or value collections.
[reversemappingtool] 10593  none  INFO   [main] openjpa.Tool - Writing
generated
 class source code.
[reversemappingtool] 10593  none  INFO   [main] openjpa.MetaData - Writing
java
code for generated type "reversemapping.Airline".
[reversemappingtool] 10608  none  INFO   [main] openjpa.Tool - Writing
generated
 metadata.
[reversemappingtool] 10655  none  INFO   [main] openjpa.MetaData - Writing
to fi
le "orm.xml".
[reversemappingtool] 10702  none  INFO   [main] openjpa.MetaData - Writing
class
 "reversemapping.Airline".
     [move] Moving 1 file to
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reverse
mapping

pre-compile:

compile:
    [javac] D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\build.xml:102:
warning:
'includeantruntime' was not set, defaulting to build.sysclasspath=last; set
to f
alse for repeatable builds
    [javac] Compiling 2 source files
    [javac]
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reversemapping\Main.java
:52: cannot find symbol
    [javac] symbol  : class Availability
    [javac] location: class reversemapping.Main
    [javac]         List<Availability> schedule = (List<Availability>)
    [javac]              ^
    [javac]
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reversemapping\Main.java
:52: cannot find symbol
    [javac] symbol  : class Availability
    [javac] location: class reversemapping.Main
    [javac]         List<Availability> schedule = (List<Availability>)
    [javac]                                             ^
    [javac]
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reversemapping\Main.java
:57: cannot find symbol
    [javac] symbol  : class Availability
    [javac] location: class reversemapping.Main
    [javac]        for (Availability avail : schedule) {
    [javac]             ^
    [javac]
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\reversemapping\Main.java
:58: cannot find symbol
    [javac] symbol  : class Flight
    [javac] location: class reversemapping.Main
    [javac]            Flight flight = avail.getFlight();
    [javac]            ^
    [javac] 4 errors

BUILD FAILED
D:\Ani\Dev\apache-openjpa-2.0.0-M3\examples\build.xml:102: Compile failed;
see t
he compiler error output for details.

Total time: 13 seconds


http://n2.nabble.com/file/n4441686/Airline.java Airline.java 
http://n2.nabble.com/file/n4441686/orm.xml orm.xml 
-- 
View this message in context: 
http://n2.nabble.com/ReverseMappingTool-problem-not-generating-java-fies-correctly-tp4441686p4441686.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to