Skip to content

Commit bbd4666

Browse files
committed
HHH-16972 try getting rid of DomainType.getSqlType()
1 parent c48bedf commit bbd4666

File tree

9 files changed

+16
-49
lines changed

9 files changed

+16
-49
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/function/array/OracleArrayConstructorFunction.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.util.List;
88

9-
import org.hibernate.metamodel.model.domain.DomainType;
109
import org.hibernate.metamodel.model.domain.ReturnableType;
1110
import org.hibernate.query.SemanticException;
1211
import org.hibernate.sql.ast.SqlAstTranslator;
@@ -31,10 +30,9 @@ public void render(
3130
"Oracle array constructor emulation requires knowledge about the return type, but resolved return type could not be determined"
3231
);
3332
}
34-
final DomainType<?> type = returnType.getSqmType();
35-
if ( !(type instanceof BasicPluralType<?, ?> pluralType) ) {
33+
if ( !(returnType instanceof BasicPluralType<?, ?> pluralType) ) {
3634
throw new SemanticException(
37-
"Oracle array constructor emulation requires a basic plural return type, but resolved return type was: " + type
35+
"Oracle array constructor emulation requires a basic plural return type, but resolved return type was: " + returnType
3836
);
3937
}
4038
final String arrayTypeName = DdlTypeHelper.getCastTypeName(

hibernate-core/src/main/java/org/hibernate/dialect/function/array/PostgreSQLArrayConstructorFunction.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.util.List;
88

9-
import org.hibernate.metamodel.model.domain.DomainType;
109
import org.hibernate.metamodel.model.domain.ReturnableType;
1110
import org.hibernate.sql.ast.SqlAstTranslator;
1211
import org.hibernate.sql.ast.spi.SqlAppender;
@@ -32,16 +31,13 @@ public void render(
3231
ReturnableType<?> returnType,
3332
SqlAstTranslator<?> walker) {
3433
String arrayTypeName = null;
35-
if ( returnType != null ) {
36-
final DomainType<?> type = returnType.getSqmType();
37-
if ( type instanceof BasicPluralType<?, ?> pluralType ) {
38-
if ( needsArrayCasting( pluralType.getElementType() ) ) {
39-
arrayTypeName = DdlTypeHelper.getCastTypeName(
40-
returnType,
41-
walker.getSessionFactory().getTypeConfiguration()
42-
);
43-
sqlAppender.append( "cast(" );
44-
}
34+
if ( returnType instanceof BasicPluralType<?, ?> pluralType ) {
35+
if ( needsArrayCasting( pluralType.getElementType() ) ) {
36+
arrayTypeName = DdlTypeHelper.getCastTypeName(
37+
returnType,
38+
walker.getSessionFactory().getTypeConfiguration()
39+
);
40+
sqlAppender.append( "cast(" );
4541
}
4642
}
4743
super.render( sqlAppender, sqlAstArguments, returnType, walker );

hibernate-core/src/main/java/org/hibernate/dialect/function/array/PostgreSQLArrayTrimEmulation.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.util.List;
88

9-
import org.hibernate.metamodel.model.domain.DomainType;
109
import org.hibernate.metamodel.model.domain.ReturnableType;
1110
import org.hibernate.sql.ast.SqlAstTranslator;
1211
import org.hibernate.sql.ast.spi.SqlAppender;
@@ -35,15 +34,12 @@ public void render(
3534
elementCountExpression.accept( walker );
3635

3736
String arrayTypeName = null;
38-
if ( returnType != null ) {
39-
final DomainType<?> type = returnType.getSqmType();
40-
if ( type instanceof BasicPluralType<?, ?> pluralType ) {
41-
if ( needsArrayCasting( pluralType.getElementType() ) ) {
42-
arrayTypeName = DdlTypeHelper.getCastTypeName(
43-
returnType,
44-
walker.getSessionFactory().getTypeConfiguration()
45-
);
46-
}
37+
if ( returnType instanceof BasicPluralType<?, ?> pluralType ) {
38+
if ( needsArrayCasting( pluralType.getElementType() ) ) {
39+
arrayTypeName = DdlTypeHelper.getCastTypeName(
40+
returnType,
41+
walker.getSessionFactory().getTypeConfiguration()
42+
);
4743
}
4844
}
4945
if ( arrayTypeName != null ) {

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/DomainType.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@
2424
* @author Steve Ebersole
2525
*/
2626
public interface DomainType<J> extends BindableType<J> {
27-
// @Override
28-
default DomainType<J> getSqmType() {
29-
return this;
30-
}
3127

3228
JavaType<J> getExpressibleJavaType();
3329

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/EmbeddableDomainType.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
*/
1919
public interface EmbeddableDomainType<J>
2020
extends TreatableDomainType<J>, EmbeddableType<J> {
21-
@Override
22-
default EmbeddableDomainType<J> getSqmType() {
23-
return this;
24-
}
2521

2622
@Override
2723
Collection<? extends EmbeddableDomainType<? extends J>> getSubTypes();

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/EntityDomainType.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,4 @@ public interface EntityDomainType<J> extends IdentifiableDomainType<J>, EntityTy
1818

1919
@Override
2020
Collection<? extends EntityDomainType<? extends J>> getSubTypes();
21-
22-
@Override
23-
default EntityDomainType<J> getSqmType() {
24-
return this;
25-
}
2621
}

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/MappedSuperclassDomainType.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,4 @@
1414
*/
1515
public interface MappedSuperclassDomainType<J>
1616
extends IdentifiableDomainType<J>, MappedSuperclassType<J>, PathSource<J> {
17-
@Override
18-
default DomainType<J> getSqmType() {
19-
return IdentifiableDomainType.super.getSqmType();
20-
}
2117
}

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/TreatableDomainType.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,4 @@
88
* @author Marco Belladelli
99
*/
1010
public interface TreatableDomainType<J> extends ManagedDomainType<J>, PathSource<J> {
11-
@Override
12-
default DomainType<J> getSqmType() {
13-
return this;
14-
}
1511
}

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/from/SqmMappedSuperclassDomainType.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99

1010
public interface SqmMappedSuperclassDomainType<T> extends MappedSuperclassDomainType<T>, SqmPathSource<T>, SqmDomainType<T> {
1111
@Override
12-
default SqmMappedSuperclassDomainType<T> getSqmType() {
13-
return this;
14-
}
12+
SqmMappedSuperclassDomainType<T> getSqmType();
1513

1614
@Override
1715
default String getTypeName() {

0 commit comments

Comments
 (0)