Skip to content

Commit 425be29

Browse files
committed
Fix Envers issues with wrong CockroachDB LOB JdbcTypes
1 parent ebb525e commit 425be29

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CockroachLegacyDialect.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@
6161
import org.hibernate.sql.exec.spi.JdbcOperation;
6262
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
6363
import org.hibernate.type.JavaObjectType;
64+
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
65+
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
6466
import org.hibernate.type.descriptor.jdbc.JdbcType;
67+
import org.hibernate.type.descriptor.jdbc.NClobJdbcType;
6568
import org.hibernate.type.descriptor.jdbc.ObjectNullAsBinaryTypeJdbcType;
66-
import org.hibernate.type.descriptor.jdbc.VarbinaryJdbcType;
67-
import org.hibernate.type.descriptor.jdbc.VarcharJdbcType;
6869
import org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry;
6970
import org.hibernate.type.descriptor.sql.internal.DdlTypeImpl;
7071
import org.hibernate.type.descriptor.sql.internal.NamedNativeEnumDdlTypeImpl;
@@ -391,9 +392,9 @@ protected void contributeCockroachTypes(TypeContributions typeContributions, Ser
391392
}
392393

393394
// Force Blob binding to byte[] for CockroachDB
394-
jdbcTypeRegistry.addDescriptor( Types.BLOB, VarbinaryJdbcType.INSTANCE );
395-
jdbcTypeRegistry.addDescriptor( Types.CLOB, VarcharJdbcType.INSTANCE );
396-
jdbcTypeRegistry.addDescriptor( Types.NCLOB, VarcharJdbcType.INSTANCE );
395+
jdbcTypeRegistry.addDescriptor( Types.BLOB, BlobJdbcType.MATERIALIZED );
396+
jdbcTypeRegistry.addDescriptor( Types.CLOB, ClobJdbcType.MATERIALIZED );
397+
jdbcTypeRegistry.addDescriptor( Types.NCLOB, NClobJdbcType.MATERIALIZED );
397398

398399
// The next two contributions are the same as for Postgresql
399400
typeContributions.contributeJdbcType( ObjectNullAsBinaryTypeJdbcType.INSTANCE );

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,12 @@
6161
import org.hibernate.sql.exec.spi.JdbcOperation;
6262
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
6363
import org.hibernate.type.JavaObjectType;
64+
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
65+
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
6466
import org.hibernate.type.descriptor.jdbc.JdbcType;
67+
import org.hibernate.type.descriptor.jdbc.NClobJdbcType;
6568
import org.hibernate.type.descriptor.jdbc.ObjectNullAsBinaryTypeJdbcType;
6669
import org.hibernate.type.descriptor.jdbc.UUIDJdbcType;
67-
import org.hibernate.type.descriptor.jdbc.VarbinaryJdbcType;
68-
import org.hibernate.type.descriptor.jdbc.VarcharJdbcType;
6970
import org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry;
7071
import org.hibernate.type.descriptor.sql.internal.DdlTypeImpl;
7172
import org.hibernate.type.descriptor.sql.internal.NamedNativeEnumDdlTypeImpl;
@@ -394,9 +395,9 @@ protected void contributeCockroachTypes(TypeContributions typeContributions, Ser
394395
}
395396

396397
// Force Blob binding to byte[] for CockroachDB
397-
jdbcTypeRegistry.addDescriptor( Types.BLOB, VarbinaryJdbcType.INSTANCE );
398-
jdbcTypeRegistry.addDescriptor( Types.CLOB, VarcharJdbcType.INSTANCE );
399-
jdbcTypeRegistry.addDescriptor( Types.NCLOB, VarcharJdbcType.INSTANCE );
398+
jdbcTypeRegistry.addDescriptor( Types.BLOB, BlobJdbcType.MATERIALIZED );
399+
jdbcTypeRegistry.addDescriptor( Types.CLOB, ClobJdbcType.MATERIALIZED );
400+
jdbcTypeRegistry.addDescriptor( Types.NCLOB, NClobJdbcType.MATERIALIZED );
400401

401402
// The next two contributions are the same as for Postgresql
402403
typeContributions.contributeJdbcType( ObjectNullAsBinaryTypeJdbcType.INSTANCE );

0 commit comments

Comments
 (0)