Remove few NotYetImplementedFor6Exception

This commit is contained in:
Andrea Boriero 2021-10-05 16:36:43 +02:00 committed by Christian Beikov
parent 7a3ad20aea
commit c612669bb5
6 changed files with 57 additions and 4 deletions

View File

@ -67,13 +67,11 @@ public interface ModelPart extends MappingModelExpressable {
/**
* Create a DomainResult for a specific reference to this ModelPart.
*/
default <T> DomainResult<T> createDomainResult(
<T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
throw new NotYetImplementedFor6Exception( getClass() );
}
DomainResultCreationState creationState);
/**
* Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.

View File

@ -8,6 +8,7 @@ package org.hibernate.metamodel.mapping.internal;
import java.io.Serializable;
import org.hibernate.NotYetImplementedFor6Exception;
import org.hibernate.engine.FetchStyle;
import org.hibernate.engine.FetchTiming;
import org.hibernate.engine.spi.SessionFactoryImplementor;
@ -31,6 +32,7 @@ import org.hibernate.sql.ast.tree.expression.ColumnReference;
import org.hibernate.sql.ast.tree.expression.Expression;
import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.ast.tree.from.TableReference;
import org.hibernate.sql.results.graph.DomainResult;
import org.hibernate.sql.results.graph.DomainResultCreationState;
import org.hibernate.sql.results.graph.Fetch;
import org.hibernate.sql.results.graph.FetchOptions;
@ -126,6 +128,15 @@ public class AnyDiscriminatorPart implements BasicValuedModelPart, FetchOptions,
return navigableRole;
}
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
throw new NotYetImplementedFor6Exception( getClass() );
}
@Override
public Object disassemble(Object value, SharedSessionContractImplementor session) {
final Serializable discriminator = metaType.disassemble( value, session, value );

View File

@ -30,6 +30,7 @@ import org.hibernate.sql.ast.tree.expression.ColumnReference;
import org.hibernate.sql.ast.tree.expression.Expression;
import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.ast.tree.from.TableReference;
import org.hibernate.sql.results.graph.DomainResult;
import org.hibernate.sql.results.graph.DomainResultCreationState;
import org.hibernate.sql.results.graph.Fetch;
import org.hibernate.sql.results.graph.FetchOptions;
@ -225,4 +226,13 @@ public class AnyKeyPart implements BasicValuedModelPart, FetchOptions {
public List<JdbcMapping> getJdbcMappings() {
return Collections.singletonList( jdbcMapping );
}
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
return anyPart.createDomainResult( navigablePath, tableGroup, resultVariable, creationState );
}
}

View File

@ -112,6 +112,20 @@ public class CollectionIdentifierDescriptorImpl implements CollectionIdentifierD
return navigableRole;
}
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
return collectionDescriptor.getAttributeMapping().createDomainResult(
navigablePath,
tableGroup,
resultVariable,
creationState
);
}
@Override
public void breakDownJdbcValues(Object domainValue, JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session) {
valueConsumer.consume( domainValue, this );
@ -238,4 +252,5 @@ public class CollectionIdentifierDescriptorImpl implements CollectionIdentifierD
public FetchTiming getTiming() {
return FetchTiming.IMMEDIATE;
}
}

View File

@ -25,6 +25,7 @@ import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.persister.entity.UniqueKeyLoadable;
import org.hibernate.proxy.HibernateProxy;
import org.hibernate.query.NavigablePath;
import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.results.graph.AssemblerCreationState;
import org.hibernate.sql.results.graph.BiDirectionalFetch;
import org.hibernate.sql.results.graph.DomainResult;
@ -322,4 +323,12 @@ public class CircularBiDirectionalFetchImpl implements BiDirectionalFetch, Assoc
}
}
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
return fetchable.createDomainResult( navigablePath, tableGroup, resultVariable, creationState );
}
}

View File

@ -17,6 +17,7 @@ import org.hibernate.metamodel.mapping.internal.ToOneAttributeMapping;
import org.hibernate.metamodel.model.domain.NavigableRole;
import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.query.NavigablePath;
import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.results.graph.AssemblerCreationState;
import org.hibernate.sql.results.graph.BiDirectionalFetch;
import org.hibernate.sql.results.graph.DomainResult;
@ -186,6 +187,15 @@ public class CircularFetchImpl implements BiDirectionalFetch, Association {
return fetchable.getNavigableRole();
}
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
return fetchable.createDomainResult( navigablePath, tableGroup,resultVariable, creationState );
}
@Override
public EntityMappingType findContainingEntityMapping() {
return fetchable.findContainingEntityMapping();