Skip to content

Commit 9f2edb6

Browse files
committed
HHH-11614 : Revert "HHH-11477 - HQL query against field marked with @lob fails on PostgreSQL"
This reverts commit f0016db.
1 parent 31942cb commit 9f2edb6

File tree

8 files changed

+21
-345
lines changed

8 files changed

+21
-345
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL81Dialect.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public SqlTypeDescriptor getSqlTypeDescriptorOverride(int sqlCode) {
188188
break;
189189
}
190190
case Types.CLOB: {
191-
descriptor = ClobTypeDescriptor.POSTGRESQL_CLOB_BINDING;
191+
descriptor = ClobTypeDescriptor.CLOB_BINDING;
192192
break;
193193
}
194194
default: {

hibernate-core/src/main/java/org/hibernate/type/descriptor/java/ClobTypeDescriptor.java

-6
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,6 @@ else if (Clob.class.isAssignableFrom( type )) {
107107
: value;
108108
return (X) clob;
109109
}
110-
else if ( String.class.isAssignableFrom( type ) ) {
111-
return (X) DataHelper.extractString( value.getCharacterStream());
112-
}
113110
}
114111
catch ( SQLException e ) {
115112
throw new HibernateException( "Unable to access clob stream", e );
@@ -132,9 +129,6 @@ else if ( Reader.class.isAssignableFrom( value.getClass() ) ) {
132129
Reader reader = (Reader) value;
133130
return options.getLobCreator().createClob( DataHelper.extractString( reader ) );
134131
}
135-
else if ( String.class.isAssignableFrom( value.getClass() ) ) {
136-
return options.getLobCreator().createClob( (String) value );
137-
}
138132

139133
throw unknownWrap( value.getClass() );
140134
}

hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/ClobTypeDescriptor.java

-42
Original file line numberDiff line numberDiff line change
@@ -114,48 +114,6 @@ protected void doBind(CallableStatement st, X value, String name, WrapperOptions
114114
}
115115
};
116116

117-
118-
public static final ClobTypeDescriptor POSTGRESQL_CLOB_BINDING = new ClobTypeDescriptor() {
119-
@Override
120-
public <X> ValueExtractor<X> getExtractor(JavaTypeDescriptor<X> javaTypeDescriptor) {
121-
return new BasicExtractor<X>( javaTypeDescriptor, this ) {
122-
@Override
123-
protected X doExtract(ResultSet rs, String name, WrapperOptions options) throws SQLException {
124-
return javaTypeDescriptor.wrap( rs.getString( name ), options );
125-
}
126-
127-
@Override
128-
protected X doExtract(CallableStatement statement, int index, WrapperOptions options)
129-
throws SQLException {
130-
return javaTypeDescriptor.wrap( statement.getString( index ), options );
131-
}
132-
133-
@Override
134-
protected X doExtract(CallableStatement statement, String name, WrapperOptions options)
135-
throws SQLException {
136-
return javaTypeDescriptor.wrap( statement.getString( name ), options );
137-
}
138-
};
139-
}
140-
141-
@Override
142-
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
143-
return new BasicBinder<X>( javaTypeDescriptor, this ) {
144-
@Override
145-
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
146-
throws SQLException {
147-
st.setString( index, javaTypeDescriptor.unwrap( value, String.class, options ) );
148-
}
149-
150-
@Override
151-
protected void doBind(CallableStatement st, X value, String name, WrapperOptions options)
152-
throws SQLException {
153-
st.setString( name, javaTypeDescriptor.unwrap( value, String.class, options ) );
154-
}
155-
};
156-
}
157-
};
158-
159117
public static final ClobTypeDescriptor STREAM_BINDING = new ClobTypeDescriptor() {
160118
@Override
161119
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {

hibernate-core/src/test/java/org/hibernate/test/lob/LobStringTest.java

-227
This file was deleted.

0 commit comments

Comments
 (0)