[hibernate-commits] Hibernate SVN: r19278 - in annotations/branches/v3_3_1_GA_CP/src: test/org/hibernate/test/annotations/join and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Apr 22 03:15:29 EDT 2010


Author: stliu
Date: 2010-04-22 03:15:28 -0400 (Thu, 22 Apr 2010)
New Revision: 19278

Added:
   annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysGroupsOrm.java
   annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysUserOrm.java
Modified:
   annotations/branches/v3_3_1_GA_CP/src/java/org/hibernate/cfg/annotations/TableBinder.java
   annotations/branches/v3_3_1_GA_CP/src/test/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_3_1_GA_CP/src/java/org/hibernate/cfg/annotations/TableBinder.java
===================================================================
--- annotations/branches/v3_3_1_GA_CP/src/java/org/hibernate/cfg/annotations/TableBinder.java	2010-04-22 06:56:38 UTC (rev 19277)
+++ annotations/branches/v3_3_1_GA_CP/src/java/org/hibernate/cfg/annotations/TableBinder.java	2010-04-22 07:15:28 UTC (rev 19278)
@@ -302,7 +302,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_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/JoinTest.java
===================================================================
--- annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/JoinTest.java	2010-04-22 06:56:38 UTC (rev 19277)
+++ annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/JoinTest.java	2010-04-22 07:15:28 UTC (rev 19278)
@@ -1,6 +1,7 @@
 //$Id$
 package org.hibernate.test.annotations.join;
 
+import java.util.ArrayList;
 import java.util.Date;
 
 import org.hibernate.Criteria;
@@ -118,7 +119,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" );
@@ -204,7 +216,9 @@
 				Dog.class,
 				A.class,
 				B.class,
-				C.class
+				C.class,
+				SysGroupsOrm.class,
+				SysUserOrm.class
 		};
 	}
 }

Added: annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysGroupsOrm.java
===================================================================
--- annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysGroupsOrm.java	                        (rev 0)
+++ annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysGroupsOrm.java	2010-04-22 07:15:28 UTC (rev 19278)
@@ -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_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysUserOrm.java
===================================================================
--- annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysUserOrm.java	                        (rev 0)
+++ annotations/branches/v3_3_1_GA_CP/src/test/org/hibernate/test/annotations/join/SysUserOrm.java	2010-04-22 07:15:28 UTC (rev 19278)
@@ -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