[hibernate-commits] Hibernate SVN: r18794 - in core/trunk/annotations/src: main/java/org/hibernate/cfg/annotations and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Feb 12 12:22:48 EST 2010


Author: epbernard
Date: 2010-02-12 12:22:48 -0500 (Fri, 12 Feb 2010)
New Revision: 18794

Modified:
   core/trunk/annotations/src/main/java/org/hibernate/cfg/BinderHelper.java
   core/trunk/annotations/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java
   core/trunk/annotations/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java
   core/trunk/annotations/src/main/java/org/hibernate/cfg/annotations/TableBinder.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/Dependent.java
Log:
HHH-4911 render referencedColumnName case insensitive

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/BinderHelper.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/BinderHelper.java	2010-02-12 15:38:20 UTC (rev 18793)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/BinderHelper.java	2010-02-12 17:22:48 UTC (rev 18794)
@@ -275,7 +275,7 @@
 		List<Property> orderedProperties = new ArrayList<Property>();
 		for (Column column : orderedColumns) {
 			boolean found = false;
-			for (Property property : columnsToProperty.get( column )) {
+			for (Property property : columnsToProperty.get( column ) ) {
 				if ( property.getColumnSpan() == 1 ) {
 					orderedProperties.add( property );
 					found = true;
@@ -439,7 +439,7 @@
 			return persistentClass; //shortcut for implicit referenced column names
 		}
 		PersistentClass current = persistentClass;
-		Object result = null;
+		Object result;
 		boolean found = false;
 		do {
 			result = current;

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java	2010-02-12 15:38:20 UTC (rev 18793)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java	2010-02-12 17:22:48 UTC (rev 18794)
@@ -54,7 +54,8 @@
 			if ( referencedColumnName == null || BinderHelper.isDefault( referencedColumnName ) ) {
 				break;
 			}
-			columnByReferencedName.put( referencedColumnName, joinColumn );
+			//JPA 2 requires referencedColumnNames to be case insensitive
+			columnByReferencedName.put( referencedColumnName.toLowerCase(), joinColumn );
 		}
 		//try default column orientation
 		int index = 0;
@@ -103,7 +104,8 @@
 						if ( isExplicitReference ) {
 							final String columnName = column.getName();
 							logicalColumnName = mappings.getLogicalColumnName( columnName, referencedPersistentClass.getTable() );
-							joinColumn = columnByReferencedName.get( logicalColumnName );
+							//JPA 2 requires referencedColumnNames to be case insensitive
+							joinColumn = columnByReferencedName.get( logicalColumnName.toLowerCase() );
 						}
 						else {
 							joinColumn = columnByReferencedName.get( "" + index );

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java	2010-02-12 15:38:20 UTC (rev 18793)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java	2010-02-12 17:22:48 UTC (rev 18794)
@@ -564,7 +564,7 @@
 		for (Ejb3JoinColumn ejb3Column : columns) {
 			String logicalReferencedColumnName = ejb3Column.getReferencedColumn();
 			if ( StringHelper.isNotEmpty( logicalReferencedColumnName ) ) {
-				String referencedColumnName = null;
+				String referencedColumnName;
 				try {
 					referencedColumnName = mappings.getPhysicalColumnName( logicalReferencedColumnName, matchingTable );
 				}

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/annotations/TableBinder.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/annotations/TableBinder.java	2010-02-12 15:38:20 UTC (rev 18793)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/annotations/TableBinder.java	2010-02-12 17:22:48 UTC (rev 18794)
@@ -443,7 +443,8 @@
 						for (Ejb3JoinColumn joinCol : columns) {
 							String referencedColumn = joinCol.getReferencedColumn();
 							referencedColumn = mappings.getPhysicalColumnName( referencedColumn, table );
-							if ( referencedColumn.equals( col.getName() ) ) {
+							//In JPA 2 referencedColumnName is case insensitive
+							if ( referencedColumn.equalsIgnoreCase( col.getName() ) ) {
 								//proper join column
 								if ( joinCol.isNameDeferred() ) {
 									joinCol.linkValueUsingDefaultColumnNaming(

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/Dependent.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/Dependent.java	2010-02-12 15:38:20 UTC (rev 18793)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/Dependent.java	2010-02-12 17:22:48 UTC (rev 18794)
@@ -22,7 +22,7 @@
 
 	@MapsId("empPK")
 	@JoinColumns({
-			@JoinColumn(name = "FK1", referencedColumnName = "firstName"),
+			@JoinColumn(name = "FK1", referencedColumnName = "FIRSTNAME"),
 			@JoinColumn(name = "FK2", referencedColumnName = "lastName")
 	})
 	@ManyToOne



More information about the hibernate-commits mailing list