HHH-16493 OneToManyCollectionPart doesn't disassemble properly embeddable IdClass

This commit is contained in:
Andrea Boriero 2023-04-19 16:12:05 +02:00 committed by Andrea Boriero
parent 60b209e6ee
commit 6188eeb681
1 changed files with 12 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import java.util.Set;
import org.hibernate.annotations.NotFoundAction; import org.hibernate.annotations.NotFoundAction;
import org.hibernate.engine.FetchStyle; import org.hibernate.engine.FetchStyle;
import org.hibernate.engine.FetchTiming; import org.hibernate.engine.FetchTiming;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.internal.util.StringHelper; import org.hibernate.internal.util.StringHelper;
import org.hibernate.mapping.Collection; import org.hibernate.mapping.Collection;
import org.hibernate.mapping.IndexedCollection; import org.hibernate.mapping.IndexedCollection;
@ -195,6 +196,17 @@ public abstract class AbstractEntityCollectionPart implements EntityCollectionPa
return associatedEntityTypeDescriptor.createDomainResult( navigablePath, partTableGroup, resultVariable, creationState ); return associatedEntityTypeDescriptor.createDomainResult( navigablePath, partTableGroup, resultVariable, creationState );
} }
@Override
public Object disassemble(Object value, SharedSessionContractImplementor session) {
if ( value == null ) {
return null;
}
// should be an instance of the associated entity
return getAssociatedEntityMappingType().getIdentifierMapping().getIdentifier( value );
}
@Override @Override
public EntityFetch generateFetch( public EntityFetch generateFetch(
FetchParent fetchParent, FetchParent fetchParent,