Skip to content

Commit 5cbe5b1

Browse files
authored
Feature/update hibernate 6 (GoogleCloudPlatform#7381)
* update to hibernate 6 * change javax to jakarta * change dialect package * change org info for hibernate dependency
1 parent 9de6382 commit 5cbe5b1

File tree

7 files changed

+31
-38
lines changed

7 files changed

+31
-38
lines changed

spanner/hibernate/pom.xml

+6-13
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
<modelVersion>4.0.0</modelVersion>
77

88
<properties>
9-
<maven.compiler.target>1.8</maven.compiler.target>
10-
<maven.compiler.source>1.8</maven.compiler.source>
9+
<maven.compiler.target>11</maven.compiler.target>
10+
<maven.compiler.source>11</maven.compiler.source>
1111
</properties>
1212

1313
<!--
1414
The parent pom defines common style checks and testing strategies for our samples.
15-
Removing or replacing it should not affect the execution of the samples in anyway.
15+
Removing or replacing it should not affect the execution of the samples in any way.
1616
-->
1717
<parent>
1818
<groupId>com.google.cloud.samples</groupId>
@@ -26,25 +26,18 @@
2626

2727
<!-- [START spanner_hibernate_dependencies] -->
2828
<dependencies>
29-
<!-- The Hibernate dialect for Spanner dependency -->
30-
<dependency>
31-
<groupId>com.google.cloud</groupId>
32-
<artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
33-
<version>1.5.2</version>
34-
</dependency>
35-
3629
<!-- The Spanner JDBC driver dependency -->
3730
<dependency>
3831
<groupId>com.google.cloud</groupId>
3932
<artifactId>google-cloud-spanner-jdbc</artifactId>
40-
<version>2.5.11</version>
33+
<version>2.7.4</version>
4134
</dependency>
4235

4336
<!-- Hibernate core dependency -->
4437
<dependency>
45-
<groupId>org.hibernate</groupId>
38+
<groupId>org.hibernate.orm</groupId>
4639
<artifactId>hibernate-core</artifactId>
47-
<version>5.6.5.Final</version>
40+
<version>6.1.5.Final</version>
4841
</dependency>
4942
</dependencies>
5043
<!-- [END spanner_hibernate_dependencies] -->

spanner/hibernate/src/main/java/com/example/spanner/CreditCardPayment.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package com.example.spanner;
1818

19-
import javax.persistence.Column;
20-
import javax.persistence.Entity;
19+
import jakarta.persistence.Column;
20+
import jakarta.persistence.Entity;
2121

2222
@Entity
2323
class CreditCardPayment extends Payment {

spanner/hibernate/src/main/java/com/example/spanner/HibernateSampleApplication.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,13 @@ public static void savePerson(Session session) {
7070
person.addPayment(payment1);
7171
person.addPayment(payment2);
7272

73-
session.save(person);
73+
session.persist(person);
7474
session.getTransaction().commit();
7575

7676
List<Person> personsInTable =
7777
session.createQuery("from Person", Person.class).list();
7878

79-
System.out.println(
80-
String.format("There are %d persons saved in the table:", personsInTable.size()));
79+
System.out.printf("There are %d persons saved in the table:%n", personsInTable.size());
8180

8281
for (Person personInTable : personsInTable) {
8382
System.out.println(personInTable);

spanner/hibernate/src/main/java/com/example/spanner/Payment.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@
1717
package com.example.spanner;
1818

1919
// [START spanner_hibernate_inheritance]
20+
21+
import jakarta.persistence.Entity;
22+
import jakarta.persistence.GeneratedValue;
23+
import jakarta.persistence.GenerationType;
24+
import jakarta.persistence.Id;
25+
import jakarta.persistence.Inheritance;
26+
import jakarta.persistence.InheritanceType;
2027
import java.util.UUID;
21-
import javax.persistence.Entity;
22-
import javax.persistence.GeneratedValue;
23-
import javax.persistence.GenerationType;
24-
import javax.persistence.Id;
25-
import javax.persistence.Inheritance;
26-
import javax.persistence.InheritanceType;
27-
import org.hibernate.annotations.Type;
28+
import org.hibernate.annotations.JdbcTypeCode;
2829

2930
/**
3031
* An example {@link Entity} which demonstrates usage of {@link Inheritance}.
@@ -35,7 +36,7 @@ public abstract class Payment {
3536

3637
@Id
3738
@GeneratedValue(strategy = GenerationType.AUTO)
38-
@Type(type = "uuid-char")
39+
@JdbcTypeCode(java.sql.Types.VARCHAR)
3940
private UUID id;
4041

4142
private Long amount;

spanner/hibernate/src/main/java/com/example/spanner/Person.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616

1717
package com.example.spanner;
1818

19+
import jakarta.persistence.CascadeType;
20+
import jakarta.persistence.Entity;
21+
import jakarta.persistence.GeneratedValue;
22+
import jakarta.persistence.GenerationType;
23+
import jakarta.persistence.Id;
24+
import jakarta.persistence.OneToMany;
25+
import jakarta.persistence.Table;
1926
import java.util.ArrayList;
2027
import java.util.List;
2128
import java.util.UUID;
22-
import javax.persistence.CascadeType;
23-
import javax.persistence.Entity;
24-
import javax.persistence.GeneratedValue;
25-
import javax.persistence.GenerationType;
26-
import javax.persistence.Id;
27-
import javax.persistence.OneToMany;
28-
import javax.persistence.Table;
29-
import org.hibernate.annotations.Type;
29+
import org.hibernate.annotations.JdbcTypeCode;
3030

3131
/**
3232
* An example person entity.
@@ -40,7 +40,7 @@ public class Person {
4040
// [START spanner_hibernate_generated_ids]
4141
@Id
4242
@GeneratedValue(strategy = GenerationType.AUTO)
43-
@Type(type = "uuid-char")
43+
@JdbcTypeCode(java.sql.Types.VARCHAR)
4444
private UUID id;
4545
// [END spanner_hibernate_generated_ids]
4646

spanner/hibernate/src/main/java/com/example/spanner/WireTransferPayment.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package com.example.spanner;
1818

19-
import javax.persistence.Column;
20-
import javax.persistence.Entity;
19+
import jakarta.persistence.Column;
20+
import jakarta.persistence.Entity;
2121

2222
@Entity
2323
class WireTransferPayment extends Payment {

spanner/hibernate/src/main/resources/hibernate.cfg.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- [START spanner_hibernate_config] -->
1010
<!-- Connection settings -->
11-
<property name="hibernate.dialect">com.google.cloud.spanner.hibernate.SpannerDialect</property>
11+
<property name="hibernate.dialect">org.hibernate.dialect.SpannerDialect</property>
1212
<property name="hibernate.connection.driver_class">com.google.cloud.spanner.jdbc.JdbcDriver</property>
1313
<property name="hibernate.connection.url">jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}</property>
1414
<!-- [END spanner_hibernate_config] -->

0 commit comments

Comments
 (0)