File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/internal Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 86
86
import static org .hibernate .bytecode .enhance .spi .LazyPropertyInitializer .UNFETCHED_PROPERTY ;
87
87
import static org .hibernate .engine .internal .ManagedTypeHelper .asPersistentAttributeInterceptable ;
88
88
import static org .hibernate .engine .internal .ManagedTypeHelper .isPersistentAttributeInterceptable ;
89
+ import static org .hibernate .internal .util .NullnessUtil .castNonNull ;
89
90
import static org .hibernate .metamodel .mapping .ForeignKeyDescriptor .Nature .TARGET ;
90
91
import static org .hibernate .proxy .HibernateProxy .extractLazyInitializer ;
91
92
@@ -1622,10 +1623,21 @@ public void resolveState(EntityInitializerData data) {
1622
1623
if ( rowIdAssembler != null ) {
1623
1624
rowIdAssembler .resolveState ( data .getRowProcessingState () );
1624
1625
}
1626
+ if ( data .concreteDescriptor == null ) {
1627
+ data .concreteDescriptor = data .defaultConcreteDescriptor ;
1628
+ if ( data .concreteDescriptor == null ) {
1629
+ data .concreteDescriptor = determineConcreteEntityDescriptor (
1630
+ data .getRowProcessingState (),
1631
+ castNonNull ( discriminatorAssembler ),
1632
+ entityDescriptor
1633
+ );
1634
+ }
1635
+ }
1625
1636
resolveEntityState ( data );
1626
1637
}
1627
1638
1628
1639
protected void resolveEntityState (EntityInitializerData data ) {
1640
+ assert data .concreteDescriptor != null ;
1629
1641
final RowProcessingState rowProcessingState = data .getRowProcessingState ();
1630
1642
for ( final DomainResultAssembler <?> assembler : assemblers [data .concreteDescriptor .getSubclassId ()] ) {
1631
1643
if ( assembler != null ) {
You can’t perform that action at this time.
0 commit comments