openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Schlaikjer (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-741) default join column names are up-cased when using MySQL DBDictionary
Date Wed, 08 Oct 2008 15:15:44 GMT
default join column names are up-cased when using MySQL DBDictionary
--------------------------------------------------------------------

                 Key: OPENJPA-741
                 URL: https://issues.apache.org/jira/browse/OPENJPA-741
             Project: OpenJPA
          Issue Type: Bug
          Components: jdbc, third-party
    Affects Versions: 1.2.0, 1.1.0
         Environment: 64-bit Linux, Sun JDK 1.6.0_07, mysql-5.0.67-linux-x86_64-glibc23 server,
mysql-connector-java 5.1.6
            Reporter: Andy Schlaikjer
            Priority: Minor


On regeneration of database using the MappingTool and the MySQL DBDictionary (did not test
with other backend DBs) some column names are being up-cased by default. Not all column names;
just join column names involved in @ManyToOne relations (and perhaps elsewhere..):

@Entity
public class A {
   @Id
   private long id; // generated column name is "id"

   @ManyToOne
   private A parent; // generated column name is "PARENT_ID"
}

I can still force the generated column name to match the desired case by explicitly setting
the name attribute of a @JoinColumn annotation:

@Entity
public class A {
   @Id
   private long id; // generated column name is "id"

   @ManyToOne
   @JoinColumn(name="parent_id")
   private A parent; // generated column name is "parent_id"
}

This bug is not present in OpenJPA versions 1.0.2 nor 1.0.3, but is evident in 1.2.0 and 1.3.0.

In addition, it seems join column names in collection tables are also affected:

@Entity
public class A {
  @Id
  private long id;

  @PersistentCollection
  @CollectionTable
  private Set<String> strings; // generated table "A_strings" has join column "A_ID"
}

@Entity
public class A {
  @Id
  private long id;

  @PersistentCollection
  @CollectionTable(joinColumns = { @XJoinColumn(name = "A_id") })
  private Set<String> strings; // generated table "A_strings" has join column "A_id"
}

This issue was first discussed in an email thread on openjpa-user mailing list:

http://thread.gmane.org/gmane.comp.apache.openjpa.user/2846


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


Mime
View raw message