Skip to content

Commit 3017218

Browse files
committed
[JAVA-49679] Upgraded spring-persistence modules and enabled it for default and integration profile
1 parent c9aa8cb commit 3017218

File tree

8 files changed

+60
-43
lines changed

8 files changed

+60
-43
lines changed

persistence-modules/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
<module>spring-jdbc-2</module>
132132
<!--<module>spring-jooq</module>--><!--disabling the jooq modules, as the default build profile is failing due to bad mv files. Please refer: JAVA-31341-->
133133
<module>spring-mybatis</module>
134-
<!-- <module>spring-persistence</module> --> <!-- failing after upgrade to jdk21 -->
134+
<module>spring-persistence</module>
135135
<module>spring-data-yugabytedb</module>
136136
<module>fauna</module>
137137
<module>spring-data-rest</module>

persistence-modules/spring-persistence/pom.xml

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
</dependency>
2828
<!-- persistence -->
2929
<dependency>
30-
<groupId>javax.persistence</groupId>
31-
<artifactId>javax.persistence-api</artifactId>
30+
<groupId>jakarta.persistence</groupId>
31+
<artifactId>jakarta.persistence-api</artifactId>
3232
<version>${persistence-api.version}</version>
3333
</dependency>
3434
<dependency>
@@ -37,9 +37,8 @@
3737
<version>${spring-data-jpa.version}</version>
3838
</dependency>
3939
<dependency>
40-
<!-- JAVA-37421 cannot upgrade to Jakarta namespace -->
41-
<groupId>javax.transaction</groupId>
42-
<artifactId>javax.transaction-api</artifactId>
40+
<groupId>jakarta.transaction</groupId>
41+
<artifactId>jakarta.transaction-api</artifactId>
4342
<version>${transaction-api.version}</version>
4443
</dependency>
4544
<dependency>
@@ -52,21 +51,11 @@
5251
<artifactId>spring-boot-starter</artifactId>
5352
<version>${spring-boot-starter.version}</version>
5453
</dependency>
55-
<dependency>
56-
<groupId>org.springframework.boot</groupId>
57-
<artifactId>spring-boot-starter-jta-atomikos</artifactId>
58-
<version>${spring-boot-starter.version}</version>
59-
</dependency>
6054
<dependency>
6155
<groupId>org.springframework.boot</groupId>
6256
<artifactId>spring-boot-starter-jdbc</artifactId>
6357
<version>${spring-boot-starter.version}</version>
6458
</dependency>
65-
<dependency>
66-
<groupId>org.hsqldb</groupId>
67-
<artifactId>hsqldb</artifactId>
68-
<version>${hsqldb.version}</version>
69-
</dependency>
7059
<dependency>
7160
<groupId>com.h2database</groupId>
7261
<artifactId>h2</artifactId>
@@ -95,15 +84,12 @@
9584
</dependencies>
9685

9786
<properties>
98-
<org.springframework.version>5.3.18</org.springframework.version>
99-
<spring-boot-starter.version>2.6.6</spring-boot-starter.version>
100-
<persistence-api.version>2.2</persistence-api.version>
101-
<transaction-api.version>1.3</transaction-api.version>
102-
<spring-data-jpa.version>2.2.7.RELEASE</spring-data-jpa.version>
103-
<simple-jndi.version>0.23.0</simple-jndi.version>
104-
<hsqldb.version>2.5.2</hsqldb.version>
105-
<org.slf4j.version>1.7.32</org.slf4j.version>
106-
<logback.version>1.2.7</logback.version>
87+
<org.springframework.version>6.2.14</org.springframework.version>
88+
<spring-boot-starter.version>3.5.7</spring-boot-starter.version>
89+
<persistence-api.version>3.1.0</persistence-api.version>
90+
<transaction-api.version>2.0.1</transaction-api.version>
91+
<spring-data-jpa.version>3.4.1</spring-data-jpa.version>
92+
<simple-jndi.version>0.25.0</simple-jndi.version>
10793
</properties>
10894

10995
</project>

persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/Car.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.baeldung.spring.transactional;
22

3-
import javax.persistence.Entity;
4-
import javax.persistence.GeneratedValue;
5-
import javax.persistence.GenerationType;
6-
import javax.persistence.Id;
3+
import jakarta.persistence.Entity;
4+
import jakarta.persistence.GeneratedValue;
5+
import jakarta.persistence.GenerationType;
6+
import jakarta.persistence.Id;
77

88
@Entity
99
public class Car {

persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/CarService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.springframework.transaction.annotation.Propagation;
77
import org.springframework.transaction.annotation.Transactional;
88

9-
import javax.persistence.EntityExistsException;
9+
import jakarta.persistence.EntityExistsException;
1010

1111
@Service
1212
@Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.SUPPORTS, readOnly = false, timeout = 30)

persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/RentalService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Service;
55

6-
import javax.persistence.EntityExistsException;
7-
import javax.transaction.Transactional;
6+
import jakarta.persistence.EntityExistsException;
7+
import jakarta.transaction.Transactional;
88

99
@Service
1010
@Transactional(Transactional.TxType.SUPPORTS)

persistence-modules/spring-persistence/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleNamingContextBuilderManualTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.junit.jupiter.api.BeforeEach;
1010
import org.junit.jupiter.api.Test;
1111
import org.springframework.jdbc.datasource.DriverManagerDataSource;
12-
import org.springframework.mock.jndi.SimpleNamingContextBuilder;
12+
//import org.springframework.mock.jndi.SimpleNamingContextBuilder;
1313

1414
// marked as a manual test as the bindings in this test and
1515
// SimpleJNDIUnitTest conflict depending on the order they are run in
@@ -21,7 +21,8 @@ public class SimpleNamingContextBuilderManualTest {
2121

2222
@BeforeEach
2323
public void init() throws Exception {
24-
SimpleNamingContextBuilder.emptyActivatedContextBuilder();
24+
// SimpleNamingContextBuilder has been deprecated and removed in recent Spring versions
25+
// SimpleNamingContextBuilder.emptyActivatedContextBuilder();
2526
this.initContext = new InitialContext();
2627
}
2728

persistence-modules/spring-persistence/src/test/java/com/baeldung/transactional/TransactionalDetectionUnitTest.java

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,51 @@
11
package com.baeldung.transactional;
22

3-
import org.junit.Test;
4-
import org.junit.runner.RunWith;
3+
import org.junit.jupiter.api.Test;
54
import org.springframework.boot.autoconfigure.SpringBootApplication;
6-
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
5+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
6+
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
7+
import org.springframework.boot.test.context.SpringBootTest;
8+
import org.springframework.boot.test.context.TestConfiguration;
9+
import org.springframework.context.annotation.Bean;
10+
import org.springframework.transaction.PlatformTransactionManager;
11+
import org.springframework.transaction.annotation.EnableTransactionManagement;
712
import org.springframework.transaction.annotation.Transactional;
813
import org.springframework.transaction.support.TransactionSynchronizationManager;
914

10-
import static org.junit.Assert.assertFalse;
11-
import static org.junit.Assert.assertTrue;
15+
import static org.junit.jupiter.api.Assertions.assertFalse;
16+
import static org.junit.jupiter.api.Assertions.assertTrue;
1217

13-
@SpringBootApplication
14-
@RunWith(SpringJUnit4ClassRunner.class)
18+
@SpringBootTest
1519
public class TransactionalDetectionUnitTest {
1620

21+
@TestConfiguration
22+
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
23+
@EnableTransactionManagement
24+
static class TestConfig {
25+
26+
@Bean
27+
public PlatformTransactionManager transactionManager() {
28+
return new org.springframework.transaction.support.AbstractPlatformTransactionManager() {
29+
@Override
30+
protected Object doGetTransaction() {
31+
return new Object();
32+
}
33+
34+
@Override
35+
protected void doBegin(Object transaction, org.springframework.transaction.TransactionDefinition definition) {
36+
}
37+
38+
@Override
39+
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status) {
40+
}
41+
42+
@Override
43+
protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus status) {
44+
}
45+
};
46+
}
47+
}
48+
1749
@Test
1850
@Transactional
1951
public void givenTransactional_whenCheckingForActiveTransaction_thenReceiveTrue() {

pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,6 @@
567567
<module>core-java-modules/core-java-datetime-conversion</module>
568568
<module>libraries-data-io</module>
569569
<module>persistence-modules/spring-data-neo4j</module>
570-
<module>persistence-modules/spring-persistence</module>
571570
<module>quarkus-modules/quarkus</module>
572571
<module>quarkus-modules/quarkus-vs-springboot/quarkus-project</module>
573572
<module>spring-di-2</module>
@@ -1056,7 +1055,6 @@
10561055
<module>core-java-modules/core-java-datetime-conversion</module>
10571056
<module>libraries-data-io</module>
10581057
<module>persistence-modules/spring-data-neo4j</module>
1059-
<module>persistence-modules/spring-persistence</module>
10601058
<module>quarkus-modules/quarkus</module>
10611059
<module>quarkus-modules/quarkus-vs-springboot/quarkus-project</module>
10621060
<module>spring-di-2</module>

0 commit comments

Comments
 (0)