Skip to content

Commit 32d1455

Browse files
committed
Fix ReSaveReferencedDeletedEntity for CockroachDB and HANA
1 parent e93a07b commit 32d1455

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ protected String columnType(int sqlTypeCode) {
199199
// "long" string types
200200
case LONG32VARCHAR:
201201
case LONG32NVARCHAR:
202-
return "varchar";
202+
return "text";
203203
case BLOB:
204204
case CLOB:
205205
case NCLOB:
@@ -232,9 +232,10 @@ protected String castType(int sqlTypeCode) {
232232
case NCHAR:
233233
case VARCHAR:
234234
case NVARCHAR:
235+
return "varchar";
235236
case LONG32VARCHAR:
236237
case LONG32NVARCHAR:
237-
return "varchar";
238+
return "text";
238239
case BINARY:
239240
case VARBINARY:
240241
case LONG32VARBINARY:

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ protected String columnType(int sqlTypeCode) {
220220
// since there's no real difference between TEXT and VARCHAR,
221221
// except for the length limit, we can just use 'text' for the
222222
// "long" string types
223-
case LONG32VARCHAR, LONG32NVARCHAR -> "varchar";
223+
case LONG32VARCHAR, LONG32NVARCHAR -> "text";
224224

225225
// use oid as the blob/clob type on Postgres because
226226
// the JDBC driver doesn't allow using bytea/text via
@@ -246,7 +246,8 @@ protected String columnType(int sqlTypeCode) {
246246
@Override
247247
protected String castType(int sqlTypeCode) {
248248
return switch (sqlTypeCode) {
249-
case CHAR, NCHAR, VARCHAR, NVARCHAR, LONG32VARCHAR, LONG32NVARCHAR -> "varchar";
249+
case CHAR, NCHAR, VARCHAR, NVARCHAR -> "varchar";
250+
case LONG32VARCHAR, LONG32NVARCHAR -> "text";
250251
case BINARY, VARBINARY, LONG32VARBINARY -> "bytea";
251252
default -> super.castType( sqlTypeCode );
252253
};

hibernate-core/src/test/java/org/hibernate/orm/test/id/ReSaveReferencedDeletedEntity.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,9 @@ public void testReSaveDeletedEntityWithDetach() {
7676
@Entity(name = "Child")
7777
public static class Child {
7878
@Id
79-
@GeneratedValue(strategy = GenerationType.IDENTITY)
79+
@GeneratedValue
8080
private Integer id;
81+
private String name;
8182

8283
public Integer getId() {
8384
return id;
@@ -91,7 +92,7 @@ public void setId(Integer id) {
9192
@Entity(name = "Parent")
9293
public static class Parent {
9394
@Id
94-
@GeneratedValue(strategy = GenerationType.IDENTITY)
95+
@GeneratedValue
9596
private Integer id;
9697

9798
@OneToOne(cascade = CascadeType.ALL)

0 commit comments

Comments
 (0)