Skip to content

Commit c7f7602

Browse files
committed
Fix ReSaveReferencedDeletedEntity for CockroachDB and HANA
1 parent 9bed471 commit c7f7602

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
@@ -217,7 +217,7 @@ protected String columnType(int sqlTypeCode) {
217217
// since there's no real difference between TEXT and VARCHAR,
218218
// except for the length limit, we can just use 'text' for the
219219
// "long" string types
220-
case LONG32VARCHAR, LONG32NVARCHAR -> "varchar";
220+
case LONG32VARCHAR, LONG32NVARCHAR -> "text";
221221

222222
// use oid as the blob/clob type on Postgres because
223223
// the JDBC driver doesn't allow using bytea/text via
@@ -243,7 +243,8 @@ protected String columnType(int sqlTypeCode) {
243243
@Override
244244
protected String castType(int sqlTypeCode) {
245245
return switch (sqlTypeCode) {
246-
case CHAR, NCHAR, VARCHAR, NVARCHAR, LONG32VARCHAR, LONG32NVARCHAR -> "varchar";
246+
case CHAR, NCHAR, VARCHAR, NVARCHAR -> "varchar";
247+
case LONG32VARCHAR, LONG32NVARCHAR -> "text";
247248
case BINARY, VARBINARY, LONG32VARBINARY -> "bytea";
248249
default -> super.castType( sqlTypeCode );
249250
};

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
@@ -72,8 +72,9 @@ public void testReSaveDeletedEntityWithDetach() {
7272
@Entity(name = "Child")
7373
public static class Child {
7474
@Id
75-
@GeneratedValue(strategy = GenerationType.IDENTITY)
75+
@GeneratedValue
7676
private Integer id;
77+
private String name;
7778

7879
public Integer getId() {
7980
return id;
@@ -87,7 +88,7 @@ public void setId(Integer id) {
8788
@Entity(name = "Parent")
8889
public static class Parent {
8990
@Id
90-
@GeneratedValue(strategy = GenerationType.IDENTITY)
91+
@GeneratedValue
9192
private Integer id;
9293

9394
@OneToOne(cascade = CascadeType.ALL)

0 commit comments

Comments
 (0)