From 6bc1391e1fbd2779d37a38297701b0a8a028fcbe Mon Sep 17 00:00:00 2001 From: Harry9656 Date: Tue, 19 Dec 2023 21:19:34 +0100 Subject: [PATCH] JAVA-29067: [FIX] spring-boot-persistence-3 migration to jdk17 (#15433) * JAVA-29067: [FIX] spring-boot-persistence-3 migration to jdk17 * JAVA-29067: [FIX] Migrate from javax to jakarta. * [FIX]: logback error. --- persistence-modules/pom.xml | 2 +- .../spring-boot-persistence-3/pom.xml | 5 ++++- .../com/baeldung/countrows/entity/Account.java | 15 ++++++++++----- .../com/baeldung/countrows/entity/Permission.java | 7 ++++++- .../countrows/repository/AccountRepository.java | 4 ---- .../countrows/service/AccountStatsLogic.java | 14 ++++++++------ .../com/baeldung/dsrouting/ClientDatabase.java | 2 -- .../largeresultset/LargeResultSetApplication.java | 1 - .../java/com/baeldung/largeresultset/Student.java | 7 ++++--- .../largeresultset/service/StudentService.java | 4 ++-- .../accountstatslogic/AccountStatsUnitTest.java | 2 -- 11 files changed, 35 insertions(+), 28 deletions(-) diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml index 41ff596ccf..5ebc5b2cd4 100644 --- a/persistence-modules/pom.xml +++ b/persistence-modules/pom.xml @@ -60,7 +60,7 @@ solr spring-boot-persistence-2 - + spring-boot-persistence-3 spring-boot-persistence spring-boot-persistence-h2 diff --git a/persistence-modules/spring-boot-persistence-3/pom.xml b/persistence-modules/spring-boot-persistence-3/pom.xml index 5e8ad64a7a..eb0507ca56 100644 --- a/persistence-modules/spring-boot-persistence-3/pom.xml +++ b/persistence-modules/spring-boot-persistence-3/pom.xml @@ -59,8 +59,11 @@ + - 2.1.8.RELEASE + 3.2.0 + 2.0.9 + 1.4.14 \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Account.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Account.java index d422c30a0e..2d3bdc6f9a 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Account.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Account.java @@ -1,11 +1,16 @@ package com.baeldung.countrows.entity; -import javax.persistence.*; - -import java.security.PrivateKey; import java.sql.Timestamp; -import java.time.Instant; -import java.util.Date; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.OneToOne; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; @Entity @Table(name = "ACCOUNTS") diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Permission.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Permission.java index 9acedf0558..4f45fb47a6 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Permission.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/entity/Permission.java @@ -1,6 +1,11 @@ package com.baeldung.countrows.entity; -import javax.persistence.*; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; @Entity @Table(name = "PERMISSIONS") diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/repository/AccountRepository.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/repository/AccountRepository.java index 422962ce45..b293cecce7 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/repository/AccountRepository.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/repository/AccountRepository.java @@ -4,13 +4,9 @@ import com.baeldung.countrows.entity.Account; import com.baeldung.countrows.entity.Permission; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.sql.Timestamp; -import java.util.Date; -import java.util.List; @Repository public interface AccountRepository extends JpaRepository { diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/service/AccountStatsLogic.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/service/AccountStatsLogic.java index e4e716b4ce..cc5d69f848 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/service/AccountStatsLogic.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/countrows/service/AccountStatsLogic.java @@ -2,16 +2,10 @@ package com.baeldung.countrows.service; import java.sql.Timestamp; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.Query; -import javax.persistence.criteria.*; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +14,14 @@ import com.baeldung.countrows.entity.Permission; import com.baeldung.countrows.repository.AccountRepository; import com.baeldung.countrows.repository.PermissionRepository; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.persistence.Query; +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.CriteriaQuery; +import jakarta.persistence.criteria.Predicate; +import jakarta.persistence.criteria.Root; + @Service public class AccountStatsLogic { @Autowired diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/dsrouting/ClientDatabase.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/dsrouting/ClientDatabase.java index d8d178a4d5..e5bef58d8d 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/dsrouting/ClientDatabase.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/dsrouting/ClientDatabase.java @@ -1,7 +1,5 @@ package com.baeldung.dsrouting; public enum ClientDatabase { - CLIENT_A, CLIENT_B - } diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/LargeResultSetApplication.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/LargeResultSetApplication.java index d592894226..c2a94b8fce 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/LargeResultSetApplication.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/LargeResultSetApplication.java @@ -5,7 +5,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class LargeResultSetApplication { - public static void main(String[] args) { SpringApplication.run(LargeResultSetApplication.class, args); } diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/Student.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/Student.java index 283d0f032d..753cff02cb 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/Student.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/Student.java @@ -1,8 +1,9 @@ package com.baeldung.largeresultset; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; @Entity public class Student { diff --git a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/service/StudentService.java b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/service/StudentService.java index e65fc34849..403054f6bd 100644 --- a/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/service/StudentService.java +++ b/persistence-modules/spring-boot-persistence-3/src/main/java/com/baeldung/largeresultset/service/StudentService.java @@ -3,8 +3,6 @@ package com.baeldung.largeresultset.service; import java.util.List; import java.util.stream.Stream; -import javax.persistence.EntityManager; - import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; @@ -14,6 +12,8 @@ import org.springframework.transaction.annotation.Transactional; import com.baeldung.largeresultset.Student; import com.baeldung.largeresultset.StudentRepository; +import jakarta.persistence.EntityManager; + @Service public class StudentService { private static final int BATCH_SIZE = 5; diff --git a/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/countrows/accountstatslogic/AccountStatsUnitTest.java b/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/countrows/accountstatslogic/AccountStatsUnitTest.java index af825601aa..e3a4cbf816 100644 --- a/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/countrows/accountstatslogic/AccountStatsUnitTest.java +++ b/persistence-modules/spring-boot-persistence-3/src/test/java/com/baeldung/boot/countrows/accountstatslogic/AccountStatsUnitTest.java @@ -4,9 +4,7 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import java.sql.Timestamp; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.time.Instant; -import java.util.Date; import java.util.UUID; import org.junit.jupiter.api.AfterEach;