|
25 | 25 |
|
26 | 26 | import static org.hibernate.engine.spi.SyntheticAttributeHelper.SYNTHETIC_COMPOSITE_ID_ATTRIBUTE_NAME;
|
27 | 27 |
|
| 28 | +import java.lang.reflect.Modifier; |
28 | 29 | import java.util.ArrayList;
|
29 | 30 | import java.util.Comparator;
|
30 | 31 | import java.util.HashMap;
|
|
75 | 76 | import org.hibernate.metamodel.spi.binding.IdGenerator;
|
76 | 77 | import org.hibernate.metamodel.spi.binding.IndexedPluralAttributeBinding;
|
77 | 78 | import org.hibernate.metamodel.spi.binding.InheritanceType;
|
| 79 | +import org.hibernate.metamodel.spi.binding.ManyToManyPluralAttributeElementBinding; |
78 | 80 | import org.hibernate.metamodel.spi.binding.ManyToOneAttributeBinding;
|
79 | 81 | import org.hibernate.metamodel.spi.binding.MetaAttribute;
|
80 |
| -import org.hibernate.metamodel.spi.binding.ManyToManyPluralAttributeElementBinding; |
81 | 82 | import org.hibernate.metamodel.spi.binding.OneToManyPluralAttributeElementBinding;
|
82 | 83 | import org.hibernate.metamodel.spi.binding.OneToOneAttributeBinding;
|
83 | 84 | import org.hibernate.metamodel.spi.binding.PluralAttributeBinding;
|
@@ -802,7 +803,9 @@ private void bindDiscriminator( final EntityBinding rootEntityBinding, final Roo
|
802 | 803 | if ( discriminatorValue != null ) {
|
803 | 804 | rootEntityBinding.setDiscriminatorMatchValue( discriminatorValue );
|
804 | 805 | }
|
805 |
| - else { |
| 806 | + else if ( !Modifier.isAbstract( bindingContext().locateClassByName( rootEntitySource.getEntityName() ).getModifiers() ) ) { |
| 807 | + // Use the class name as a default if no dscriminator value. |
| 808 | + // However, skip abstract classes -- obviously no discriminators there. |
806 | 809 | rootEntityBinding.setDiscriminatorMatchValue( rootEntitySource.getEntityName() );
|
807 | 810 | }
|
808 | 811 | // Configure discriminator hibernate type
|
|
0 commit comments