Spring transactions

The recommendation is to use Ebean's own transaction management but we can also use Spring transactions.

To do so include the dependency:

<dependency>
  <groupId>io.ebean</groupId>
  <artifactId>ebean-spring-txn</artifactId>
  <version>13.0.0</version>
</dependency>

Register SpringJdbcTransactionManager as the external transaction manager on the builder:

Database database = Database.builder()
  .loadFromProperties()
  .externalTransactionManager(new SpringJdbcTransactionManager())
  .build();