HHH-17041 Embeddable and Generics throws IllegalArgumentException
This commit is contained in:
parent
005e28113e
commit
deabfa0e47
|
@ -362,12 +362,16 @@ public class ClassPropertyHolder extends AbstractPropertyHolder {
|
|||
if ( component.isGeneric() ) {
|
||||
actualProperty.setValue( context.getMetadataCollector().getGenericComponent( componentClass ) );
|
||||
}
|
||||
else {
|
||||
if ( componentClass == Object.class ) {
|
||||
// Object is not a valid component class, but that is what we get when using a type variable
|
||||
component.getProperties().clear();
|
||||
}
|
||||
else {
|
||||
final Iterator<Property> propertyIterator = component.getPropertyIterator();
|
||||
while ( propertyIterator.hasNext() ) {
|
||||
Property property = propertyIterator.next();
|
||||
try {
|
||||
property.getGetter( componentClass );
|
||||
propertyIterator.next().getGetter( componentClass );
|
||||
}
|
||||
catch (PropertyNotFoundException e) {
|
||||
propertyIterator.remove();
|
||||
|
@ -375,6 +379,7 @@ public class ClassPropertyHolder extends AbstractPropertyHolder {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
actualProperty.setValue( value );
|
||||
propertyConsumer.accept( actualProperty );
|
||||
break;
|
||||
|
|
|
@ -32,7 +32,6 @@ import org.hibernate.property.access.internal.PropertyAccessStrategyIndexBackRef
|
|||
import org.hibernate.property.access.spi.BuiltInPropertyAccessStrategies;
|
||||
import org.hibernate.property.access.spi.PropertyAccess;
|
||||
import org.hibernate.property.access.spi.PropertyAccessStrategy;
|
||||
import org.hibernate.service.ServiceRegistry;
|
||||
import org.hibernate.type.descriptor.java.JavaType;
|
||||
import org.hibernate.type.descriptor.java.spi.JavaTypeRegistry;
|
||||
import org.hibernate.type.internal.CompositeUserTypeJavaTypeWrapper;
|
||||
|
|
Loading…
Reference in New Issue