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. * Create a DomainResult for a specific reference to this ModelPart.
*/ */
default <T> DomainResult<T> createDomainResult( <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath, NavigablePath navigablePath,
TableGroup tableGroup, TableGroup tableGroup,
String resultVariable, String resultVariable,
DomainResultCreationState creationState) { DomainResultCreationState creationState);
throw new NotYetImplementedFor6Exception( getClass() );
}
/** /**
* Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause. * 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 java.io.Serializable;
import org.hibernate.NotYetImplementedFor6Exception;
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.SessionFactoryImplementor; 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.expression.Expression;
import org.hibernate.sql.ast.tree.from.TableGroup; import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.ast.tree.from.TableReference; 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.DomainResultCreationState;
import org.hibernate.sql.results.graph.Fetch; import org.hibernate.sql.results.graph.Fetch;
import org.hibernate.sql.results.graph.FetchOptions; import org.hibernate.sql.results.graph.FetchOptions;
@ -126,6 +128,15 @@ public class AnyDiscriminatorPart implements BasicValuedModelPart, FetchOptions,
return navigableRole; return navigableRole;
} }
@Override
public <T> DomainResult<T> createDomainResult(
NavigablePath navigablePath,
TableGroup tableGroup,
String resultVariable,
DomainResultCreationState creationState) {
throw new NotYetImplementedFor6Exception( getClass() );
}
@Override @Override
public Object disassemble(Object value, SharedSessionContractImplementor session) { public Object disassemble(Object value, SharedSessionContractImplementor session) {
final Serializable discriminator = metaType.disassemble( value, session, value ); 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.expression.Expression;
import org.hibernate.sql.ast.tree.from.TableGroup; import org.hibernate.sql.ast.tree.from.TableGroup;
import org.hibernate.sql.ast.tree.from.TableReference; 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.DomainResultCreationState;
import org.hibernate.sql.results.graph.Fetch; import org.hibernate.sql.results.graph.Fetch;
import org.hibernate.sql.results.graph.FetchOptions; import org.hibernate.sql.results.graph.FetchOptions;
@ -225,4 +226,13 @@ public class AnyKeyPart implements BasicValuedModelPart, FetchOptions {
public List<JdbcMapping> getJdbcMappings() { public List<JdbcMapping> getJdbcMappings() {
return Collections.singletonList( jdbcMapping ); 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; 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 @Override
public void breakDownJdbcValues(Object domainValue, JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session) { public void breakDownJdbcValues(Object domainValue, JdbcValueConsumer valueConsumer, SharedSessionContractImplementor session) {
valueConsumer.consume( domainValue, this ); valueConsumer.consume( domainValue, this );
@ -238,4 +252,5 @@ public class CollectionIdentifierDescriptorImpl implements CollectionIdentifierD
public FetchTiming getTiming() { public FetchTiming getTiming() {
return FetchTiming.IMMEDIATE; return FetchTiming.IMMEDIATE;
} }
} }

View File

@ -25,6 +25,7 @@ import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.persister.entity.UniqueKeyLoadable; import org.hibernate.persister.entity.UniqueKeyLoadable;
import org.hibernate.proxy.HibernateProxy; import org.hibernate.proxy.HibernateProxy;
import org.hibernate.query.NavigablePath; 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.AssemblerCreationState;
import org.hibernate.sql.results.graph.BiDirectionalFetch; import org.hibernate.sql.results.graph.BiDirectionalFetch;
import org.hibernate.sql.results.graph.DomainResult; 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.metamodel.model.domain.NavigableRole;
import org.hibernate.persister.entity.EntityPersister; import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.query.NavigablePath; 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.AssemblerCreationState;
import org.hibernate.sql.results.graph.BiDirectionalFetch; import org.hibernate.sql.results.graph.BiDirectionalFetch;
import org.hibernate.sql.results.graph.DomainResult; import org.hibernate.sql.results.graph.DomainResult;
@ -186,6 +187,15 @@ public class CircularFetchImpl implements BiDirectionalFetch, Association {
return fetchable.getNavigableRole(); 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 @Override
public EntityMappingType findContainingEntityMapping() { public EntityMappingType findContainingEntityMapping() {
return fetchable.findContainingEntityMapping(); return fetchable.findContainingEntityMapping();