[hibernate-commits] Hibernate SVN: r19277 - in annotations/branches/v3_4_0_GA_CP/src: test/java/org/hibernate/test/annotations/join and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Apr 22 02:56:39 EDT 2010
Author: stliu
Date: 2010-04-22 02:56:38 -0400 (Thu, 22 Apr 2010)
New Revision: 19277
Added:
annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysGroupsOrm.java
annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysUserOrm.java
Modified:
annotations/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/cfg/annotations/TableBinder.java
annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/JoinTest.java
Log:
JBPAPP-4088 HHH-5103 -- Specifying the referencedColumnName in a @JoinColumn with backtics like uid fails
Modified: annotations/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/cfg/annotations/TableBinder.java
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/cfg/annotations/TableBinder.java 2010-04-22 04:35:00 UTC (rev 19276)
+++ annotations/branches/v3_4_0_GA_CP/src/main/java/org/hibernate/cfg/annotations/TableBinder.java 2010-04-22 06:56:38 UTC (rev 19277)
@@ -298,7 +298,7 @@
for (Ejb3JoinColumn joinCol : columns) {
String referencedColumn = joinCol.getReferencedColumn();
referencedColumn = mappings.getPhysicalColumnName( referencedColumn, table );
- if ( referencedColumn.equals( col.getName() ) ) {
+ if ( referencedColumn.equals( col.getQuotedName() ) ) {
//proper join column
if ( joinCol.isNameDeferred() ) {
joinCol.linkValueUsingDefaultColumnNaming(
Modified: annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/JoinTest.java
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/JoinTest.java 2010-04-22 04:35:00 UTC (rev 19276)
+++ annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/JoinTest.java 2010-04-22 06:56:38 UTC (rev 19277)
@@ -1,6 +1,7 @@
//$Id$
package org.hibernate.test.annotations.join;
+import java.util.ArrayList;
import java.util.Date;
import org.hibernate.Criteria;
@@ -114,7 +115,18 @@
tx.commit();
s.close();
}
-
+ public void testReferenceColumnWithBacktics() throws Exception {
+ Session s=openSession();
+ s.beginTransaction();
+ SysGroupsOrm g=new SysGroupsOrm();
+ SysUserOrm u=new SysUserOrm();
+ u.setGroups( new ArrayList<SysGroupsOrm>() );
+ u.getGroups().add( g );
+ s.save( g );
+ s.save( u );
+ s.getTransaction().commit();
+ s.close();
+ }
public void testUniqueConstaintOnSecondaryTable() throws Exception {
Cat cat = new Cat();
cat.setStoryPart2( "My long story" );
@@ -200,7 +212,9 @@
Dog.class,
A.class,
B.class,
- C.class
+ C.class,
+ SysGroupsOrm.class,
+ SysUserOrm.class
};
}
}
Added: annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysGroupsOrm.java
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysGroupsOrm.java (rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysGroupsOrm.java 2010-04-22 06:56:38 UTC (rev 19277)
@@ -0,0 +1,27 @@
+package org.hibernate.test.annotations.join;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+ at Entity
+ at Table( name = "SYS_GROUPS" )
+public class SysGroupsOrm {
+
+ private long groupId;
+
+ @Id
+ @GeneratedValue
+ @Column( name = "GROUPID" )
+ public long getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId( long groupId ) {
+ this.groupId = groupId;
+ }
+
+}
\ No newline at end of file
Added: annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysUserOrm.java
===================================================================
--- annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysUserOrm.java (rev 0)
+++ annotations/branches/v3_4_0_GA_CP/src/test/java/org/hibernate/test/annotations/join/SysUserOrm.java 2010-04-22 06:56:38 UTC (rev 19277)
@@ -0,0 +1,46 @@
+package org.hibernate.test.annotations.join;
+
+import java.util.Collection;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
+
+ at Entity( name = "sys_user" )
+ at Table( name = "SYS_USER" )
+public class SysUserOrm {
+
+ private long userid;
+
+ private Collection<SysGroupsOrm> groups;
+
+ @Id
+ @GeneratedValue
+ @Column( name = "`auid`" )
+ public long getUserid() {
+ return userid;
+ }
+
+ public void setUserid( long userid ) {
+ this.userid = userid;
+ }
+
+ @ManyToMany( fetch = FetchType.LAZY )
+ @JoinTable( name = "SYS_GROUPS_USERS",
+ joinColumns = @JoinColumn( name = "USERID", referencedColumnName = "`auid`" ),
+ inverseJoinColumns = @JoinColumn( name = "GROUPID", referencedColumnName = "GROUPID" ) )
+ public Collection<SysGroupsOrm> getGroups() {
+ return groups;
+ }
+
+ public void setGroups( Collection<SysGroupsOrm> groups ) {
+ this.groups = groups;
+ }
+}
More information about the hibernate-commits
mailing list