[ 
https://issues.apache.org/jira/browse/OPENJPA-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853978#action_12853978
 ] 

Leo Tu edited comment on OPENJPA-1605 at 4/6/10 2:05 PM:
---------------------------------------------------------

Hi Rick Curtis, bellow is my unit test:


(1) Create Table for Testing:
==============================================
CREATE DATABASE `abc`;

DROP TABLE IF EXISTS `abc`.`mycompany`;
CREATE TABLE  `abc`.`mycompany` (
  `COMPANY_ID` varchar(20) NOT NULL,
  `ENGNAME` varchar(100) default NULL,
  `COUNTRY` varchar(5) default NULL,
  `CITY` varchar(20) default NULL,
  `ZIP` varchar(10) default NULL,
  `PHONE` varchar(40) default NULL,
  PRIMARY KEY  (`COMPANY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `abc`.`mycompany_emp`;
CREATE TABLE  `abc`.`mycompany_emp` (
  `COMPANY_ID` varchar(20) NOT NULL,
  `EMPNAME` varchar(50) NOT NULL default '',
  `ROLE` varchar(30) default NULL,
  `EMAIL` varchar(100) default NULL,
  `ERP_ID` varchar(10) default NULL,
  PRIMARY KEY  (`COMPANY_ID`,`EMPNAME`),
  CONSTRAINT `COMPANY_EMP_FK1` FOREIGN KEY (`COMPANY_ID`) REFERENCES 
`mycompany` (`COMPANY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `abc`.`myrole`;
CREATE TABLE  `abc`.`myrole` (
  `ROLE_ID` varchar(30) NOT NULL,
  `USER_ID` varchar(30) NOT NULL default '',
  `IS_ENABLE` varchar(1) default NULL,
  `LOCATION` varchar(30) default NULL,
  PRIMARY KEY  (`ROLE_ID`,`USER_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



(2) ANT build.xml for Testing:
==============================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="reverse-schema-test">

        <property name="jdbc.driver" value="com.mysql.jdbc.Driver" />
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/abc" />
        <property name="jdbc.username" value="test" />
        <property name="jdbc.password" value="test123" />
        <property name="jdbc.package" value="db.model.test" />
                
        <property name="project.path" value="${basedir}" />
        <property name="webapp.path" location="${project.path}/WebContent" />
        <property name="java.classes.output.path" 
location="${webapp.path}/WEB-INF/classes" />
        <property name="java.code.src_auto_gen_test" 
value="${project.path}/src_auto_gen_test" />

        <!-- echo -->
        <echo>ant.version=[${ant.version}]</echo>
        <echo>ant.java.version=[${ant.java.version}]</echo>
        <echo>java.home=[${java.home}]</echo>
        <!--
        <echo>basedir=[${basedir}]</echo>
        <echo>project.path=[${project.path}]</echo>
        <echo>webapp.path=[${webapp.path}]</echo>
        <echo>java.classes.output.path=[${java.classes.output.path}]</echo>
        -->

        <!-- classpath -->
        <path id="default.classpath">

                <!-- for openjpa-1.2.2 -->              
                <!--
                <fileset 
dir="D:/download/apache-java/OpenJPA/apache-openjpa-1.2.2-binary/apache-openjpa-1.2.2">
                        <include name="openjpa-1.2.2.jar" />
                        <include name="lib/*.jar" />
                </fileset>
                -->

                <!-- for openjpa-2.0.0-beta3 -->                
                <fileset 
dir="D:/download/apache-java/OpenJPA/apache-openjpa-2.0.0-beta3-binary/apache-openjpa-2.0.0-beta3">
                        <include name="openjpa-2.0.0-beta3.jar" />
                        <include name="lib/*.jar" />
                </fileset>              

                <!-- for jdbc -->
                <fileset dir="D:/download/MS-SQL/mysql-connector-java-5.1.12">
                        <include name="mysql-connector-java-5.1.12-bin.jar" />
                </fileset>

                <pathelement location="${java.classes.output.path}" />
        </path>

        <taskdef name="reversemappingtool" 
classname="org.apache.openjpa.jdbc.ant.ReverseMappingToolTask">
                <classpath refid="default.classpath" />
        </taskdef>

        <target name="reverse-schema-test" depends="" description="Generate 
java files from the database schema">
                <delete dir="${java.code.src_auto_gen_test}" />
                <mkdir dir="${java.code.src_auto_gen_test}" />
                <delete file="${project.path}/orm.xml" />

                <reversemappingtool inverseRelations="true" 
package="${jdbc.package}" directory="${java.code.src_auto_gen_test}" 
innerIdentityClasses="true" useBuiltinIdentityClass="false" 
identityClassSuffix="Pk" nullableAsObject="true" generateAnnotations="true" 
useSchemaName="false" detachable="true" useGenericCollections="true">
                        <config connectiondrivername="${jdbc.driver}" 
connectionurl="${jdbc.url}" connectionusername="${jdbc.username}" 
connectionpassword="${jdbc.password}" />
                        <codeformat tabSpaces="4" spaceBeforeParen="false" 
braceOnSameLine="true" />
                </reversemappingtool>
        </target>
        
</project>



(3) ANT build log message for version: "openjpa-1.2.2"  
(<path id="default.classpath">
   ... 
  <include name="openjpa-1.2.2.jar" />
   ... 
</path>)

==============================================
Buildfile: D:\developer\workspace-soho\magic-web\build_test.xml
     [echo] ant.version=[Apache Ant version 1.7.1 compiled on June 27 2008]
     [echo] ant.java.version=[1.6]
     [echo] java.home=[C:\Program Files\Java\jre6]
reverse-schema-test:
    [mkdir] Created dir: D:\developer\workspace-soho\magic-web\src_auto_gen_test
   [delete] Deleting: D:\developer\workspace-soho\magic-web\orm.xml
[reversemappingtool] 62  server-pu  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] 125  server-pu  INFO   [main] openjpa.jdbc.JDBC - Using 
dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
[reversemappingtool] 984  server-pu  INFO   [main] openjpa.Tool - 
ReverseMappingTool : generating classes.
[reversemappingtool] 1328  server-pu  INFO   [main] openjpa.Tool - Generating 
annotations.
[reversemappingtool] 1359  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1375  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.MycompanyEmp".
[reversemappingtool] 1375  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Myrole".
[reversemappingtool] 1390  server-pu  INFO   [main] openjpa.Tool - Writing 
generated class source code.
[reversemappingtool] 1390  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Mycompany".
[reversemappingtool] 1406  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Mycompany".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.MycompanyEmp".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.MycompanyEmp".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Myrole".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Myrole".
[reversemappingtool] 1468  server-pu  INFO   [main] openjpa.Tool - Writing 
generated metadata.
[reversemappingtool] 1500  server-pu  INFO   [main] openjpa.MetaData - Writing 
to file "orm.xml".
[reversemappingtool] 1515  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1531  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.MycompanyEmp".
[reversemappingtool] 1531  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Myrole".
BUILD SUCCESSFUL
Total time: 2 seconds



(4) ANT build log message for version: "openjpa-2.0.0-beta3" 
(<path id="default.classpath">
   ... 
  <include name="openjpa-2.0.0-beta3.jar" />
   ... 
</path>)
==============================================
Buildfile: D:\developer\workspace-soho\magic-web\build_test.xml
     [echo] ant.version=[Apache Ant version 1.7.1 compiled on June 27 2008]
     [echo] ant.java.version=[1.6]
     [echo] java.home=[C:\Program Files\Java\jre6]
reverse-schema-test:
    [mkdir] Created dir: D:\developer\workspace-soho\magic-web\src_auto_gen_test
   [delete] Deleting: D:\developer\workspace-soho\magic-web\orm.xml
[reversemappingtool] 93  server-pu  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] 406  server-pu  INFO   [main] openjpa.jdbc.JDBC - Using 
dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
[reversemappingtool] 1343  server-pu  INFO   [main] openjpa.Tool - 
ReverseMappingTool : generating classes.
[reversemappingtool] 1640  server-pu  INFO   [main] openjpa.Tool - Generating 
annotations.
[reversemappingtool] 1656  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1687  server-pu  INFO   [main] openjpa.Tool - Writing 
generated class source code.
[reversemappingtool] 1687  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Mycompany".
[reversemappingtool] 1718  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Mycompany".
[reversemappingtool] 1765  server-pu  INFO   [main] openjpa.Tool - Writing 
generated metadata.
[reversemappingtool] 1796  server-pu  INFO   [main] openjpa.MetaData - Writing 
to file "orm.xml".
[reversemappingtool] 1828  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
BUILD SUCCESSFUL
Total time: 3 seconds



(5) /META-INF/persistence.xml
==============================================
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
        version="1.0">

        <persistence-unit name="server-pu" transaction-type="RESOURCE_LOCAL">
                
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
                <properties>
                        <property name="openjpa.jdbc.DBDictionary" 
value="storeCharsAsNumbers=false" />
                        <property name="openjpa.jdbc.SynchronizeMappings" 
value="false" />
                        <property name="openjpa.Log" 
value="SQL=TRACE"></property>
                        <property name="openjpa.ConnectionFactoryProperties" 
value="PrettyPrint=true,PrettyPrintLineLength=72"></property>
           </properties>

        </persistence-unit>
</persistence>


**********************************************
(6) Result
==>  version: "openjpa-1.2.2"  is correct,  generate three java class files.
i.e, "Mycompany "

@Entity
@Table(name="mycompany")
@IdClass(db.model.test.Mycompany.Pk.class)
public class Mycompany {
    @Basic
    @Column(length=20)
    private String city;

    @Id
    @Column(name="COMPANY_ID", length=20)
    private String companyId;

    @Basic
    @Column(length=5)
    private String country;

    @Basic
    @Column(length=100)
    private String engname;

    @OneToMany(targetEntity=db.model.test.MycompanyEmp.class, 
mappedBy="mycompany", cascade=CascadeType.MERGE)
    private Set<MycompanyEmp> mycompanyEmps = new HashSet<MycompanyEmp>();

    @Basic
    @Column(length=40)
    private String phone;

    @Basic
    @Column(length=10)
    private String zip;


    public Mycompany() {
    }
...
}


==>  version: "openjpa-2.0.0-beta3"  is incorrect, generate only one file:
i.e, "Mycompany " with wrong columns

/**
 * Auto-generated by:
 * org.apache.openjpa.jdbc.meta.ReverseMappingTool$AnnotatedCodeGenerator
 */
@Entity
@Table(name="mycompany")
@IdClass(db.model.test.Mycompany.Pk.class)
public class Mycompany {
    @Basic
    @Column(length=20)
    private String city;

    @Id
    @Column(name="COMPANY_ID", length=20)
    private String companyId;

    @Basic
    @Column(length=5)
    private String country;

    @Basic
    @Column(length=100)
    private String email;

    @Basic
    @Column(nullable=false, length=50)
    private String empname;

    @Basic
    @Column(length=100)
    private String engname;

    @Basic
    @Column(name="ERP_ID", length=10)
    private String erpId;

    @Basic
    @Column(name="IS_ENABLE", length=1)
    private String isEnable;

    @Basic
    @Column(length=30)
    private String location;

    @Basic
    @Column(length=40)
    private String phone;

    @Basic
    @Column(length=30)
    private String role;

    @Basic
    @Column(name="ROLE_ID", nullable=false, length=30)
    private String roleId;

    @Basic
    @Column(name="USER_ID", nullable=false, length=30)
    private String userId;

    @Basic
    @Column(length=10)
    private String zip;


    public Mycompany() {
    }
...
}


      was (Author: leo.tu):
    Hi Rick Curtis, bellow is my unit test:


(1) Create Table for Testing:
==============================================
CREATE DATABASE `abc`;

DROP TABLE IF EXISTS `abc`.`mycompany`;
CREATE TABLE  `abc`.`mycompany` (
  `COMPANY_ID` varchar(20) NOT NULL,
  `ENGNAME` varchar(100) default NULL,
  `COUNTRY` varchar(5) default NULL,
  `CITY` varchar(20) default NULL,
  `ZIP` varchar(10) default NULL,
  `PHONE` varchar(40) default NULL,
  PRIMARY KEY  (`COMPANY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `abc`.`mycompany_emp`;
CREATE TABLE  `abc`.`mycompany_emp` (
  `COMPANY_ID` varchar(20) NOT NULL,
  `EMPNAME` varchar(50) NOT NULL default '',
  `ROLE` varchar(30) default NULL,
  `EMAIL` varchar(100) default NULL,
  `ERP_ID` varchar(10) default NULL,
  PRIMARY KEY  (`COMPANY_ID`,`EMPNAME`),
  CONSTRAINT `COMPANY_EMP_FK1` FOREIGN KEY (`COMPANY_ID`) REFERENCES 
`mycompany` (`COMPANY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `abc`.`myrole`;
CREATE TABLE  `abc`.`myrole` (
  `ROLE_ID` varchar(30) NOT NULL,
  `USER_ID` varchar(30) NOT NULL default '',
  `IS_ENABLE` varchar(1) default NULL,
  `LOCATION` varchar(30) default NULL,
  PRIMARY KEY  (`ROLE_ID`,`USER_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



(2) ANT build.xml for Testing:
==============================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="reverse-schema-test">

        <property name="jdbc.driver" value="com.mysql.jdbc.Driver" />
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/abc" />
        <property name="jdbc.username" value="test" />
        <property name="jdbc.password" value="test123" />
        <property name="jdbc.package" value="db.model.test" />
                
        <property name="project.path" value="${basedir}" />
        <property name="webapp.path" location="${project.path}/WebContent" />
        <property name="java.classes.output.path" 
location="${webapp.path}/WEB-INF/classes" />
        <property name="java.code.src_auto_gen_test" 
value="${project.path}/src_auto_gen_test" />

        <!-- echo -->
        <echo>ant.version=[${ant.version}]</echo>
        <echo>ant.java.version=[${ant.java.version}]</echo>
        <echo>java.home=[${java.home}]</echo>
        <!--
        <echo>basedir=[${basedir}]</echo>
        <echo>project.path=[${project.path}]</echo>
        <echo>webapp.path=[${webapp.path}]</echo>
        <echo>java.classes.output.path=[${java.classes.output.path}]</echo>
        -->

        <!-- classpath -->
        <path id="default.classpath">

                <!-- for openjpa-1.2.2 -->              
                <!--
                <fileset 
dir="D:/download/apache-java/OpenJPA/apache-openjpa-1.2.2-binary/apache-openjpa-1.2.2">
                        <include name="openjpa-1.2.2.jar" />
                        <include name="lib/*.jar" />
                </fileset>
                -->

                <!-- for openjpa-2.0.0-beta3 -->                
                <fileset 
dir="D:/download/apache-java/OpenJPA/apache-openjpa-2.0.0-beta3-binary/apache-openjpa-2.0.0-beta3">
                        <include name="openjpa-2.0.0-beta3.jar" />
                        <include name="lib/*.jar" />
                </fileset>              

                <!-- for jdbc -->
                <fileset dir="D:/download/MS-SQL/mysql-connector-java-5.1.12">
                        <include name="mysql-connector-java-5.1.12-bin.jar" />
                </fileset>

                <pathelement location="${java.classes.output.path}" />
        </path>

        <taskdef name="reversemappingtool" 
classname="org.apache.openjpa.jdbc.ant.ReverseMappingToolTask">
                <classpath refid="default.classpath" />
        </taskdef>

        <target name="reverse-schema-test" depends="" description="Generate 
java files from the database schema">
                <delete dir="${java.code.src_auto_gen_test}" />
                <mkdir dir="${java.code.src_auto_gen_test}" />
                <delete file="${project.path}/orm.xml" />

                <reversemappingtool inverseRelations="true" 
package="${jdbc.package}" directory="${java.code.src_auto_gen_test}" 
innerIdentityClasses="true" useBuiltinIdentityClass="false" 
identityClassSuffix="Pk" nullableAsObject="true" generateAnnotations="true" 
useSchemaName="false" detachable="true" useGenericCollections="true">
                        <config connectiondrivername="${jdbc.driver}" 
connectionurl="${jdbc.url}" connectionusername="${jdbc.username}" 
connectionpassword="${jdbc.password}" />
                        <codeformat tabSpaces="4" spaceBeforeParen="false" 
braceOnSameLine="true" />
                </reversemappingtool>
        </target>
        
</project>



(3) ANT build log message for version: "openjpa-1.2.2"  
(<path id="default.classpath">
   ... 
  <include name="openjpa-1.2.2.jar" />
   ... 
</path>)

==============================================
Buildfile: D:\developer\workspace-soho\magic-web\build_test.xml
     [echo] ant.version=[Apache Ant version 1.7.1 compiled on June 27 2008]
     [echo] ant.java.version=[1.6]
     [echo] java.home=[C:\Program Files\Java\jre6]
reverse-schema-test:
    [mkdir] Created dir: D:\developer\workspace-soho\magic-web\src_auto_gen_test
   [delete] Deleting: D:\developer\workspace-soho\magic-web\orm.xml
[reversemappingtool] 62  server-pu  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] 125  server-pu  INFO   [main] openjpa.jdbc.JDBC - Using 
dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
[reversemappingtool] 984  server-pu  INFO   [main] openjpa.Tool - 
ReverseMappingTool : generating classes.
[reversemappingtool] 1328  server-pu  INFO   [main] openjpa.Tool - Generating 
annotations.
[reversemappingtool] 1359  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1375  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.MycompanyEmp".
[reversemappingtool] 1375  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Myrole".
[reversemappingtool] 1390  server-pu  INFO   [main] openjpa.Tool - Writing 
generated class source code.
[reversemappingtool] 1390  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Mycompany".
[reversemappingtool] 1406  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Mycompany".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.MycompanyEmp".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.MycompanyEmp".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Myrole".
[reversemappingtool] 1453  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Myrole".
[reversemappingtool] 1468  server-pu  INFO   [main] openjpa.Tool - Writing 
generated metadata.
[reversemappingtool] 1500  server-pu  INFO   [main] openjpa.MetaData - Writing 
to file "orm.xml".
[reversemappingtool] 1515  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1531  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.MycompanyEmp".
[reversemappingtool] 1531  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Myrole".
BUILD SUCCESSFUL
Total time: 2 seconds



(4) ANT build log message for version: "openjpa-2.0.0-beta3" 
(<path id="default.classpath">
   ... 
  <include name="openjpa-2.0.0-beta3.jar" />
   ... 
</path>)
==============================================
Buildfile: D:\developer\workspace-soho\magic-web\build_test.xml
     [echo] ant.version=[Apache Ant version 1.7.1 compiled on June 27 2008]
     [echo] ant.java.version=[1.6]
     [echo] java.home=[C:\Program Files\Java\jre6]
reverse-schema-test:
    [mkdir] Created dir: D:\developer\workspace-soho\magic-web\src_auto_gen_test
   [delete] Deleting: D:\developer\workspace-soho\magic-web\orm.xml
[reversemappingtool] 93  server-pu  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] 406  server-pu  INFO   [main] openjpa.jdbc.JDBC - Using 
dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
[reversemappingtool] 1343  server-pu  INFO   [main] openjpa.Tool - 
ReverseMappingTool : generating classes.
[reversemappingtool] 1640  server-pu  INFO   [main] openjpa.Tool - Generating 
annotations.
[reversemappingtool] 1656  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
[reversemappingtool] 1687  server-pu  INFO   [main] openjpa.Tool - Writing 
generated class source code.
[reversemappingtool] 1687  server-pu  INFO   [main] openjpa.MetaData - Writing 
java code for generated type "db.model.test.Mycompany".
[reversemappingtool] 1718  server-pu  INFO   [main] openjpa.Enhance - 
Generating an application id for type "class db.model.test.Mycompany".
[reversemappingtool] 1765  server-pu  INFO   [main] openjpa.Tool - Writing 
generated metadata.
[reversemappingtool] 1796  server-pu  INFO   [main] openjpa.MetaData - Writing 
to file "orm.xml".
[reversemappingtool] 1828  server-pu  INFO   [main] openjpa.MetaData - Writing 
class "db.model.test.Mycompany".
BUILD SUCCESSFUL
Total time: 3 seconds



(5) /META-INF/persistence.xml
==============================================
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
        version="1.0">

        <persistence-unit name="server-pu" transaction-type="RESOURCE_LOCAL">
                
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
                <properties>
                        <property name="openjpa.jdbc.DBDictionary" 
value="storeCharsAsNumbers=false" />
                        <property name="openjpa.jdbc.SynchronizeMappings" 
value="false" />
                        <property name="openjpa.Log" 
value="SQL=TRACE"></property>
                        <property name="openjpa.ConnectionFactoryProperties" 
value="PrettyPrint=true,PrettyPrintLineLength=72"></property>
           </properties>

        </persistence-unit>
</persistence>
  
> ReverseMappingTool (SchemaGenerator) bug
> ----------------------------------------
>
>                 Key: OPENJPA-1605
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1605
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta3
>            Reporter: Leo Tu
>
> org.apache.openjpa.jdbc.schema.SchemaGenerator.java
> =============================================
> ...
> ...
> public void generateTables(DBIdentifier schemaName, DBIdentifier tableName,
>         Connection conn, DatabaseMetaData meta) {
>    ...
>  Table table;
>  DBIdentifier tableSchema = DBIdentifier.NULL;
>  for (int i = 0; cols != null && i < cols.length; i++) {
>         if (DBIdentifier.isNull(tableName) || tableName.equals("%")) { <---  
> bug code line
>                 tableName = cols[i].getTableIdentifier(); <---  bug code line
>         }
> ...
> ...
>  }
> }
> if parameter  tableName is null, than tableName is always been set the first 
> column table Identifier 
>   --> "cols[0].getTableIdentifier() "
> this cause only generate first table class file with wrong columns.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to