Skip to content

Commit a9c5a37

Browse files
committed
Object relationship mapping issues | java.lang.NullPointerException: Cannot invoke java.lang.Comparable.compareTo(Object) because 'one' is null
1 parent 56c9ffc commit a9c5a37

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

hibernate-core/src/main/java/org/hibernate/sql/results/graph/InitializerParent.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@
44
*/
55
package org.hibernate.sql.results.graph;
66

7+
8+
import org.hibernate.Hibernate;
9+
710
/**
811
* Provides access to information about the owner/parent of a fetch
912
* in relation to the current "row" being processed.
1013
*
1114
* @author Steve Ebersole
1215
*/
1316
public interface InitializerParent<Data extends InitializerData> extends Initializer<Data> {
14-
17+
default Object getResolvedInstanceNoProxy(Data data){
18+
return Hibernate.unproxy( getResolvedInstance( data ) );
19+
}
1520
}

hibernate-core/src/main/java/org/hibernate/sql/results/graph/embeddable/internal/EmbeddableInitializerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ private void prepareCompositeInstance(EmbeddableInitializerData data) {
459459
if ( parent != null && embedded instanceof VirtualModelPart && !isPartOfKey && data.getState() != State.MISSING ) {
460460
final InitializerData subData = parent.getData( data.getRowProcessingState() );
461461
parent.resolveInstance( subData );
462-
data.setInstance( parent.getResolvedInstance( subData ) );
462+
data.setInstance( parent.getResolvedInstanceNoProxy( subData ) );
463463
if ( data.getState() == State.INITIALIZED ) {
464464
return;
465465
}

hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/internal/EntityInitializerImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1818,6 +1818,11 @@ public String toString() {
18181818
return "EntityJoinedFetchInitializer(" + LoggingHelper.toLoggableString( getNavigablePath() ) + ")";
18191819
}
18201820

1821+
@Override
1822+
public Object getResolvedInstanceNoProxy(EntityInitializerData data) {
1823+
return data.entityInstanceForNotify;
1824+
}
1825+
18211826
//#########################
18221827
// For Hibernate Reactive
18231828
//#########################

0 commit comments

Comments
 (0)