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 8686import static org .hibernate .bytecode .enhance .spi .LazyPropertyInitializer .UNFETCHED_PROPERTY ;
8787import static org .hibernate .engine .internal .ManagedTypeHelper .asPersistentAttributeInterceptable ;
8888import static org .hibernate .engine .internal .ManagedTypeHelper .isPersistentAttributeInterceptable ;
89+ import static org .hibernate .internal .util .NullnessUtil .castNonNull ;
8990import static org .hibernate .metamodel .mapping .ForeignKeyDescriptor .Nature .TARGET ;
9091import static org .hibernate .proxy .HibernateProxy .extractLazyInitializer ;
9192
@@ -1622,10 +1623,21 @@ public void resolveState(EntityInitializerData data) {
16221623 if ( rowIdAssembler != null ) {
16231624 rowIdAssembler .resolveState ( data .getRowProcessingState () );
16241625 }
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+ }
16251636 resolveEntityState ( data );
16261637 }
16271638
16281639 protected void resolveEntityState (EntityInitializerData data ) {
1640+ assert data .concreteDescriptor != null ;
16291641 final RowProcessingState rowProcessingState = data .getRowProcessingState ();
16301642 for ( final DomainResultAssembler <?> assembler : assemblers [data .concreteDescriptor .getSubclassId ()] ) {
16311643 if ( assembler != null ) {
You can’t perform that action at this time.
0 commit comments