Skip to content

Commit 51bd060

Browse files
committed
Fix Envers issues with wrong CockroachDB LOB JdbcTypes
1 parent 1598a3e commit 51bd060

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
@@ -72,10 +72,11 @@
7272
import org.hibernate.sql.exec.spi.JdbcOperation;
7373
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
7474
import org.hibernate.type.JavaObjectType;
75+
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
76+
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
7577
import org.hibernate.type.descriptor.jdbc.JdbcType;
78+
import org.hibernate.type.descriptor.jdbc.NClobJdbcType;
7679
import org.hibernate.type.descriptor.jdbc.ObjectNullAsBinaryTypeJdbcType;
77-
import org.hibernate.type.descriptor.jdbc.VarbinaryJdbcType;
78-
import org.hibernate.type.descriptor.jdbc.VarcharJdbcType;
7980
import org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry;
8081
import org.hibernate.type.descriptor.sql.internal.DdlTypeImpl;
8182
import org.hibernate.type.descriptor.sql.internal.NamedNativeEnumDdlTypeImpl;
@@ -418,9 +419,9 @@ protected void contributeCockroachTypes(TypeContributions typeContributions, Ser
418419
}
419420

420421
// Force Blob binding to byte[] for CockroachDB
421-
jdbcTypeRegistry.addDescriptor( Types.BLOB, VarbinaryJdbcType.INSTANCE );
422-
jdbcTypeRegistry.addDescriptor( Types.CLOB, VarcharJdbcType.INSTANCE );
423-
jdbcTypeRegistry.addDescriptor( Types.NCLOB, VarcharJdbcType.INSTANCE );
422+
jdbcTypeRegistry.addDescriptor( Types.BLOB, BlobJdbcType.MATERIALIZED );
423+
jdbcTypeRegistry.addDescriptor( Types.CLOB, ClobJdbcType.MATERIALIZED );
424+
jdbcTypeRegistry.addDescriptor( Types.NCLOB, NClobJdbcType.MATERIALIZED );
424425

425426
// The next two contributions are the same as for Postgresql
426427
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
@@ -64,11 +64,12 @@
6464
import org.hibernate.sql.exec.spi.JdbcOperation;
6565
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
6666
import org.hibernate.type.JavaObjectType;
67+
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
68+
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
6769
import org.hibernate.type.descriptor.jdbc.JdbcType;
70+
import org.hibernate.type.descriptor.jdbc.NClobJdbcType;
6871
import org.hibernate.type.descriptor.jdbc.ObjectNullAsBinaryTypeJdbcType;
6972
import org.hibernate.type.descriptor.jdbc.UUIDJdbcType;
70-
import org.hibernate.type.descriptor.jdbc.VarbinaryJdbcType;
71-
import org.hibernate.type.descriptor.jdbc.VarcharJdbcType;
7273
import org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry;
7374
import org.hibernate.type.descriptor.sql.internal.DdlTypeImpl;
7475
import org.hibernate.type.descriptor.sql.internal.NamedNativeEnumDdlTypeImpl;
@@ -381,9 +382,9 @@ protected void contributeCockroachTypes(TypeContributions typeContributions, Ser
381382
}
382383

383384
// Force Blob binding to byte[] for CockroachDB
384-
jdbcTypeRegistry.addDescriptor( Types.BLOB, VarbinaryJdbcType.INSTANCE );
385-
jdbcTypeRegistry.addDescriptor( Types.CLOB, VarcharJdbcType.INSTANCE );
386-
jdbcTypeRegistry.addDescriptor( Types.NCLOB, VarcharJdbcType.INSTANCE );
385+
jdbcTypeRegistry.addDescriptor( Types.BLOB, BlobJdbcType.MATERIALIZED );
386+
jdbcTypeRegistry.addDescriptor( Types.CLOB, ClobJdbcType.MATERIALIZED );
387+
jdbcTypeRegistry.addDescriptor( Types.NCLOB, NClobJdbcType.MATERIALIZED );
387388

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

0 commit comments

Comments
 (0)