Skip to content

Commit 94c3afc

Browse files
committed
Use toMetaDataObjectName() to read columns from native SQL ResultSet
fixes failure affecting Informix, but it's more correct anyway
1 parent 8c8eaf8 commit 94c3afc

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

hibernate-core/src/main/java/org/hibernate/sql/results/jdbc/internal/AbstractResultSetAccess.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
import java.sql.SQLException;
99

1010
import jakarta.persistence.EnumType;
11+
import org.hibernate.boot.model.naming.Identifier;
1112
import org.hibernate.dialect.Dialect;
1213
import org.hibernate.engine.jdbc.spi.SqlExceptionHelper;
1314
import org.hibernate.engine.spi.SessionFactoryImplementor;
1415
import org.hibernate.engine.spi.SharedSessionContractImplementor;
15-
import org.hibernate.internal.util.StringHelper;
1616
import org.hibernate.type.BasicType;
1717
import org.hibernate.type.descriptor.java.JavaType;
1818
import org.hibernate.type.descriptor.jdbc.JdbcType;
@@ -75,15 +75,19 @@ public int getColumnCount() {
7575
@Override
7676
public int resolveColumnPosition(String columnName) {
7777
try {
78-
return getResultSet()
79-
.findColumn( StringHelper.unquote( columnName, getDialect() ) );
78+
return getResultSet().findColumn( normalizeColumnName( columnName ) );
8079
}
8180
catch (SQLException e) {
8281
throw getSqlExceptionHelper()
8382
.convert( e, "Unable to find column position by name: " + columnName );
8483
}
8584
}
8685

86+
private String normalizeColumnName(String columnName) {
87+
return getFactory().getJdbcServices().getJdbcEnvironment().getIdentifierHelper()
88+
.toMetaDataObjectName( Identifier.toIdentifier( columnName ) );
89+
}
90+
8791
@Override
8892
public String resolveColumnName(int position) {
8993
try {

0 commit comments

Comments
 (0)