diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AttributeFactory.java b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AttributeFactory.java index 364d19265a..c3f1845226 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AttributeFactory.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/internal/AttributeFactory.java @@ -236,7 +236,7 @@ public class AttributeFactory { switch ( typeContext.getValueClassification() ) { case BASIC: { Class returnedClass = typeContext.getJpaBindableType(); - if ( returnedClass.isAssignableFrom( Object.class ) ) { + if ( returnedClass.isInterface() || returnedClass.isAssignableFrom( Object.class ) ) { final SimpleValue simpleValue = (SimpleValue) typeContext.getHibernateValue(); if ( simpleValue.getTypeParameters() != null && typeContext.getAttributeMetadata() .getOwnerType() instanceof EntityDomainType ) {