Author: epbernard
Date: 2006-08-28 00:33:01 -0400 (Mon, 28 Aug 2006)
New Revision: 10354
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/CollectionPropertyHolder.java
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/PropertyHolderBuilder.java
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/ListBinder.java
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/MapBinder.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Boy.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Brand.java
Log:
ANN-424 fix some column overriding bugs
Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -1354,7 +1354,7 @@
collectionBinder.setPropertyAccessorName( inferredData.getDefaultAccess() );
Ejb3Column[] elementColumns = null;
- PropertyData mapKeyVirtualProperty = new WrappedInferredData( inferredData,
"element" );
+ PropertyData virtualProperty = new WrappedInferredData( inferredData,
"element" );
if ( property.isAnnotationPresent( Column.class ) || property.isAnnotationPresent(
Formula.class
) ) {
@@ -1365,7 +1365,7 @@
formulaAnn,
nullability,
propertyHolder,
- mapKeyVirtualProperty,
+ virtualProperty,
entityBinder.getSecondaryTables(),
mappings
);
@@ -1373,7 +1373,7 @@
else if ( property.isAnnotationPresent( Columns.class ) ) {
Columns anns = property.getAnnotation( Columns.class );
elementColumns = Ejb3Column.buildColumnFromAnnotation(
- anns.columns(), null, nullability, propertyHolder, mapKeyVirtualProperty,
+ anns.columns(), null, nullability, propertyHolder, virtualProperty,
entityBinder.getSecondaryTables(), mappings
);
}
@@ -1383,7 +1383,7 @@
null,
nullability,
propertyHolder,
- mapKeyVirtualProperty,
+ virtualProperty,
entityBinder.getSecondaryTables(),
mappings
);
@@ -1392,7 +1392,7 @@
org.hibernate.annotations.MapKey hibMapKeyAnn = property.getAnnotation(
org.hibernate.annotations.MapKey.class
);
- mapKeyVirtualProperty = new WrappedInferredData( inferredData, "mapkey" );
+ PropertyData mapKeyVirtualProperty = new WrappedInferredData( inferredData,
"mapkey" );
Ejb3Column[] mapColumns = Ejb3Column.buildColumnFromAnnotation(
hibMapKeyAnn != null && hibMapKeyAnn.columns().length > 0 ?
hibMapKeyAnn.columns() : null,
null,
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/CollectionPropertyHolder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/CollectionPropertyHolder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/CollectionPropertyHolder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -21,9 +21,9 @@
public CollectionPropertyHolder(
Collection collection, String path, XClass clazzToProcess, XProperty property,
- ExtendedMappings mappings
+ PropertyHolder parentPropertyHolder, ExtendedMappings mappings
) {
- super( path, null, clazzToProcess, mappings );
+ super( path, parentPropertyHolder, clazzToProcess, mappings );
this.collection = collection;
setCurrentProperty( property );
}
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/PropertyHolderBuilder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/PropertyHolderBuilder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/PropertyHolderBuilder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -50,9 +50,9 @@
*/
public static PropertyHolder buildPropertyHolder(
Collection collection, String path, XClass clazzToProcess, XProperty property,
- ExtendedMappings mappings
+ PropertyHolder parentPropertyHolder, ExtendedMappings mappings
) {
- return new CollectionPropertyHolder( collection, path, clazzToProcess, property,
mappings );
+ return new CollectionPropertyHolder( collection, path, clazzToProcess, property,
parentPropertyHolder, mappings );
}
/**
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -548,7 +548,7 @@
isEmbedded, collType,
ignoreNotFound, unique,
cascadeDeleteEnabled,
- associationTableBinder, property, hqlOrderBy, mappings
+ associationTableBinder, property, propertyHolder, hqlOrderBy, mappings
);
return false;
}
@@ -863,7 +863,8 @@
String collType,
boolean ignoreNotFound, boolean unique,
boolean cascadeDeleteEnabled,
- TableBinder associationTableBinder, XProperty property, String hqlOrderBy,
ExtendedMappings mappings
+ TableBinder associationTableBinder, XProperty property, PropertyHolder
parentPropertyHolder,
+ String hqlOrderBy, ExtendedMappings mappings
) throws MappingException {
PersistentClass collectionEntity = (PersistentClass) persistentClasses.get( collType
);
@@ -1017,7 +1018,7 @@
collValue,
collValue.getRole(), // + ".element",
elementClass,
- property, mappings
+ property, parentPropertyHolder, mappings
);
//force in case of attribute override
boolean attributeOverride = property.isAnnotationPresent( AttributeOverride.class )
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/ListBinder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/ListBinder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/ListBinder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -77,7 +77,7 @@
this.collection,
StringHelper.qualify( this.collection.getRole(), "key" ),
(XClass) null,
- (XProperty) null, mappings
+ (XProperty) null, propertyHolder, mappings
);
List list = (List) this.collection;
if ( ! list.isOneToMany() ) indexColumn.forceNotNull();
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/MapBinder.java
===================================================================
---
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/MapBinder.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/MapBinder.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -155,7 +155,7 @@
mapValue,
StringHelper.qualify( mapValue.getRole(), "mapkey" ),
elementClass,
- property, mappings
+ property, propertyHolder, mappings
);
//force in case of attribute override
boolean attributeOverride = property.isAnnotationPresent( AttributeOverride.class )
Modified:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Boy.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Boy.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Boy.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -26,7 +26,8 @@
@Entity
@AttributeOverrides({
@AttributeOverride( name="characters.element", column =
@Column(name="character") ),
- @AttributeOverride( name="scorePerNickName.element", column =
@Column(name="fld_score") )}
+ @AttributeOverride( name="scorePerNickName.element", column =
@Column(name="fld_score") ),
+ @AttributeOverride( name="favoriteToys.element.brand.surname", column =
@Column(name = "fld_surname"))}
)
public class Boy {
private Integer id;
Modified:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Brand.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Brand.java 2006-08-25
23:28:31 UTC (rev 10353)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/collectionelement/Brand.java 2006-08-28
04:33:01 UTC (rev 10354)
@@ -9,6 +9,7 @@
@Embeddable
public class Brand {
private String name;
+ private String surname;
public String getName() {
return name;
@@ -18,6 +19,14 @@
this.name = name;
}
+ public String getSurname() {
+ return surname;
+ }
+
+ public void setSurname(String surname) {
+ this.surname = surname;
+ }
+
public boolean equals(Object o) {
if ( this == o ) return true;
if ( o == null || getClass() != o.getClass() ) return false;