Skip to content

Commit 1b7041e

Browse files
Don't use deprecated class from Micronaut Data (#971)
* Don't use deprecated class from Micronaut Data * Update libs.versions.toml * Add and update dependencies for micronaut-data M9 * Fix R2DBC tests --------- Co-authored-by: radovanradic <radicr@gmail.com>
1 parent ad29d9e commit 1b7041e

File tree

40 files changed

+128
-115
lines changed

40 files changed

+128
-115
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ micronaut-testresources = "2.0.0-M10"
99

1010
# Platform dependencies
1111
micronaut-cache = "4.0.0-M4"
12-
micronaut-data = "4.0.0-M7"
12+
micronaut-data = "4.0.0-M9"
1313
micronaut-hibernate-validator = "4.0.0-M6"
1414
micronaut-micrometer = "5.0.0-M4"
1515
micronaut-r2dbc = "5.0.0-M10"

hibernate-jpa/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,6 @@ dependencies {
3838

3939
testRuntimeOnly projects.micronautJdbcTomcat
4040
testRuntimeOnly(libs.managed.h2)
41+
42+
testCompileOnly(mnData.micronaut.data.connection.jdbc)
4143
}

hibernate-jpa/src/main/java/io/micronaut/configuration/hibernate/jpa/conf/settings/internal/CurrentSessionContextClassSettingSupplier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import io.micronaut.context.annotation.Prototype;
2323
import io.micronaut.context.annotation.Requires;
2424
import io.micronaut.core.annotation.Internal;
25-
import io.micronaut.transaction.hibernate6.MicronautSessionContext;
25+
import io.micronaut.transaction.hibernate.MicronautSessionContext;
2626
import org.hibernate.cfg.AvailableSettings;
2727

2828
import java.util.Collections;

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/JavaBookService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.jpa;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Inject;
2020
import jakarta.inject.Singleton;
2121

@@ -38,26 +38,26 @@ public void setEntityManager(EntityManager entityManager) {
3838
this.entityManager = entityManager;
3939
}
4040

41-
@TransactionalAdvice
41+
@Transactional
4242
public boolean testFieldInject() {
4343
entityManagerField.clear();
4444
return true;
4545
}
4646

47-
@TransactionalAdvice
47+
@Transactional
4848
public boolean testMethodInject() {
4949
entityManager.clear();
5050
return true;
5151
}
5252

53-
@TransactionalAdvice
53+
@Transactional
5454
public boolean testNativeQuery() {
5555
// just testing the method can be invoked
5656
entityManager.createNativeQuery("select * from book", Book.class).getResultList();
5757
return true;
5858
}
5959

60-
@TransactionalAdvice
60+
@Transactional
6161
public boolean testClose() throws Exception {
6262
// just testing the method can be invoked
6363
((AutoCloseable)entityManager).close();

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/JavaReadOnlyBookService.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,12 @@
1616
package io.micronaut.configuration.hibernate.jpa;
1717

1818

19-
import io.micronaut.transaction.annotation.TransactionalAdvice;
19+
import io.micronaut.transaction.annotation.Transactional;
2020

2121
import jakarta.persistence.EntityManager;
22-
import javax.transaction.Transactional;
2322

24-
@Transactional
25-
@TransactionalAdvice(readOnly = true)
23+
@jakarta.transaction.Transactional
24+
@Transactional(readOnly = true)
2625
public class JavaReadOnlyBookService {
2726

2827
private final EntityManager entityManager;

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/JpaSetupSpec.groovy

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ import io.micronaut.context.ApplicationContext
2121
import io.micronaut.context.env.Environment
2222
import io.micronaut.http.exceptions.HttpException
2323
import io.micronaut.transaction.TransactionDefinition
24-
import io.micronaut.transaction.annotation.TransactionalAdvice
24+
import io.micronaut.transaction.annotation.Transactional
2525
import jakarta.inject.Inject
2626
import jakarta.inject.Singleton
2727
import org.hibernate.Session
2828
import spock.lang.AutoCleanup
29-
import spock.lang.Ignore
3029
import spock.lang.Shared
3130
import spock.lang.Specification
3231

@@ -38,7 +37,6 @@ import jakarta.persistence.EntityManagerFactory
3837
import jakarta.persistence.GeneratedValue
3938
import jakarta.persistence.Id
4039

41-
import jakarta.validation.ConstraintViolation
4240
import jakarta.validation.ConstraintViolationException
4341
import jakarta.validation.constraints.NotBlank
4442

@@ -187,7 +185,7 @@ class BookService {
187185
@Inject
188186
Session session
189187

190-
@TransactionalAdvice(
188+
@Transactional(
191189
readOnly = true,
192190
propagation = TransactionDefinition.Propagation.MANDATORY,
193191
isolation = TransactionDefinition.Isolation.REPEATABLE_READ,
@@ -199,27 +197,27 @@ class BookService {
199197

200198
}
201199

202-
@TransactionalAdvice(readOnly = true)
200+
@Transactional(readOnly = true)
203201
List<Book> listBooks() {
204202
def query = session.getCriteriaBuilder().createQuery(Book)
205203
def root = query.from(Book)
206204
query.select(root)
207205
return session.createQuery(query).getResultList()
208206
}
209207

210-
@TransactionalAdvice(readOnly = true)
208+
@Transactional(readOnly = true)
211209
List<Book> saveReadOnly() {
212210
session.persist(new Book(title: "the stand"))
213211
listBooks()
214212
}
215213

216-
@TransactionalAdvice
214+
@Transactional
217215
List<Book> saveError() {
218216
session.persist(new Book(title: "the stand"))
219217
throw new Exception("bad things happened")
220218
}
221219

222-
@TransactionalAdvice
220+
@Transactional
223221
List<Book> saveSuccess() {
224222
session.persist(new Book(title: "the stand"))
225223
listBooks()

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/MultipleDataSourceJpaSetupSpec.groovy

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ package io.micronaut.configuration.hibernate.jpa
1717

1818
import io.micronaut.configuration.hibernate.jpa.other.Author
1919
import io.micronaut.context.ApplicationContext
20+
import io.micronaut.data.connection.jdbc.advice.DelegatingDataSource
2021
import io.micronaut.inject.qualifiers.Qualifiers
21-
import io.micronaut.transaction.annotation.TransactionalAdvice
22-
import io.micronaut.transaction.hibernate6.HibernateTransactionManager
23-
import io.micronaut.transaction.jdbc.DelegatingDataSource
22+
import io.micronaut.transaction.annotation.Transactional
23+
import io.micronaut.transaction.hibernate.HibernateTransactionManager
2424
import jakarta.inject.Inject
2525
import jakarta.inject.Named
2626
import jakarta.inject.Singleton
@@ -61,12 +61,6 @@ class MultipleDataSourceJpaSetupSpec extends Specification {
6161
defaultSessionFactory != otherSessionFactory
6262
defaultSessionFactory.getMetamodel().entity(Book)
6363
otherSessionFactory.getMetamodel().entity(Author)
64-
defaultTxManager.dataSource == DelegatingDataSource.unwrapDataSource(applicationContext.getBean(DataSource))
65-
otherTxManager.dataSource == DelegatingDataSource.unwrapDataSource(applicationContext.getBean(DataSource, Qualifiers.byName('other')))
66-
defaultTxManager.sessionFactory == defaultSessionFactory
67-
otherTxManager.sessionFactory == otherSessionFactory
68-
defaultSessionFactory.jdbcServices.jdbcEnvironment.currentCatalog.toString() == "MYDB"
69-
otherSessionFactory.jdbcServices.jdbcEnvironment.currentCatalog.toString() == "OTHERDB"
7064
}
7165

7266
void "test multiple data source transactional"() {
@@ -118,37 +112,37 @@ class MultipleDataSourceJpaSetupSpec extends Specification {
118112
@PersistenceContext(name = "other")
119113
Session contextOther
120114

121-
@TransactionalAdvice
115+
@Transactional
122116
boolean testCurrent() {
123117
session.clear()
124118
return true
125119
}
126120

127-
@TransactionalAdvice
121+
@Transactional
128122
boolean testContext() {
129123
contextSession.clear()
130124
return true
131125
}
132126

133-
@TransactionalAdvice("other")
127+
@Transactional("other")
134128
boolean testContextOther() {
135129
contextOther.clear()
136130
return true
137131
}
138132

139-
@TransactionalAdvice
133+
@Transactional
140134
boolean testEM() {
141135
em.clear()
142136
return true
143137
}
144138

145-
@TransactionalAdvice("other")
139+
@Transactional("other")
146140
boolean testOther() {
147141
otherSession.clear()
148142
return true
149143
}
150144

151-
@TransactionalAdvice("other")
145+
@Transactional("other")
152146
boolean testViaSF() {
153147
sessionFactory.currentSession.clear()
154148
return true

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/MutipleDataSourceJavaService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.jpa;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Inject;
2020
import jakarta.inject.Singleton;
2121
import org.hibernate.Session;
@@ -36,13 +36,13 @@ public void setSessionField(Session sessionField) {
3636
this.sessionField = sessionField;
3737
}
3838

39-
@TransactionalAdvice
39+
@Transactional
4040
public boolean testCurrent() {
4141
session.clear();
4242
return true;
4343
}
4444

45-
@TransactionalAdvice
45+
@Transactional
4646
public boolean testCurrentFromField() {
4747
sessionField.clear();
4848
return true;

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/datasources/db1/ProductRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.jpa.datasources.db1;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Singleton;
2020

2121
import jakarta.persistence.EntityManager;
2222
import jakarta.validation.constraints.NotBlank;
2323
import jakarta.validation.constraints.NotNull;
2424
import java.util.Optional;
2525

26-
@TransactionalAdvice
26+
@Transactional
2727
@Singleton
2828
public class ProductRepository {
2929

@@ -39,7 +39,7 @@ public Product save(@NotBlank String isdn, @NotBlank String name) {
3939
return book;
4040
}
4141

42-
@TransactionalAdvice(readOnly = true) // <3>
42+
@Transactional(readOnly = true) // <3>
4343
public Optional<Product> findById(@NotNull Long id) {
4444
return Optional.ofNullable(entityManager.find(Product.class, id));
4545
}

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/datasources/db2/BookstoreMethodLevelTransaction.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.jpa.datasources.db2;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Named;
2020
import jakarta.inject.Singleton;
2121

2222
import jakarta.persistence.EntityManager;
23-
import javax.transaction.Transactional;
2423
import jakarta.validation.constraints.NotBlank;
2524
import jakarta.validation.constraints.NotNull;
2625
import java.util.Optional;
@@ -34,16 +33,16 @@ public BookstoreMethodLevelTransaction(@Named("db2") EntityManager entityManager
3433
this.entityManager = entityManager;
3534
}
3635

37-
@Transactional
38-
@TransactionalAdvice(transactionManager = "db2")
36+
@jakarta.transaction.Transactional
37+
@Transactional(transactionManager = "db2")
3938
public Bookstore save(@NotBlank String name) {
4039
Bookstore bookstore = new Bookstore(name);
4140
entityManager.persist(bookstore);
4241
return bookstore;
4342
}
4443

45-
@Transactional
46-
@TransactionalAdvice(readOnly = true, transactionManager = "db2")
44+
@jakarta.transaction.Transactional
45+
@Transactional(readOnly = true, transactionManager = "db2")
4746
public Optional<Bookstore> findById(@NotNull Long id) {
4847
return Optional.ofNullable(entityManager.find(Bookstore.class, id));
4948
}

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/datasources/db2/BookstoreRepository.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,17 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.jpa.datasources.db2;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Named;
2020
import jakarta.inject.Singleton;
2121

2222
import jakarta.persistence.EntityManager;
23-
import javax.transaction.Transactional;
2423
import jakarta.validation.constraints.NotBlank;
2524
import jakarta.validation.constraints.NotNull;
2625
import java.util.Optional;
2726

28-
@Transactional
29-
@TransactionalAdvice("db2")
27+
@jakarta.transaction.Transactional
28+
@Transactional("db2")
3029
@Singleton
3130
public class BookstoreRepository {
3231

@@ -42,8 +41,8 @@ public Bookstore save(@NotBlank String name) {
4241
return bookstore;
4342
}
4443

45-
@Transactional
46-
@TransactionalAdvice(readOnly = true) // <3>
44+
@jakarta.transaction.Transactional
45+
@Transactional(readOnly = true) // <3>
4746
public Optional<Bookstore> findById(@NotNull Long id) {
4847
return Optional.ofNullable(entityManager.find(Bookstore.class, id));
4948
}

hibernate-jpa/src/test/groovy/io/micronaut/configuration/hibernate/jpa/mapping/AccountRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
package io.micronaut.configuration.hibernate.jpa.mapping;
1717

1818
import io.micronaut.core.annotation.Nullable;
19-
import io.micronaut.transaction.annotation.TransactionalAdvice;
19+
import io.micronaut.transaction.annotation.Transactional;
2020
import jakarta.inject.Singleton;
2121

2222
import jakarta.persistence.EntityManager;
2323
import jakarta.validation.constraints.NotBlank;
2424

25-
@TransactionalAdvice
25+
@Transactional
2626
@Singleton
2727
public class AccountRepository {
2828

hibernate-reactive/src/test/groovy/io/micronaut/configuration/hibernate/reactive/datasources/db1/ProductRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
*/
1616
package io.micronaut.configuration.hibernate.reactive.datasources.db1;
1717

18-
import io.micronaut.transaction.annotation.TransactionalAdvice;
18+
import io.micronaut.transaction.annotation.Transactional;
1919
import jakarta.inject.Singleton;
2020

2121
import jakarta.persistence.EntityManager;
2222
import jakarta.validation.constraints.NotBlank;
2323
import jakarta.validation.constraints.NotNull;
2424
import java.util.Optional;
2525

26-
@TransactionalAdvice
26+
@Transactional
2727
@Singleton
2828
public class ProductRepository {
2929

@@ -39,7 +39,7 @@ public Product save(@NotBlank String isdn, @NotBlank String name) {
3939
return book;
4040
}
4141

42-
@TransactionalAdvice(readOnly = true) // <3>
42+
@Transactional(readOnly = true) // <3>
4343
public Optional<Product> findById(@NotNull Long id) {
4444
return Optional.ofNullable(entityManager.find(Product.class, id));
4545
}

0 commit comments

Comments
 (0)