package org.tests.model.basic.xtra; import io.ebean.Ebean; import io.ebean.Transaction; import io.ebean.TxType; import io.ebean.annotation.Transactional; import io.ebean.PersistBatch; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.persistence.EntityNotFoundException; import java.util.List; import static org.junit.Assert.assertEquals; public class DummyDao { Logger logger = LoggerFactory.getLogger(DummyDao.class); @Transactional(type = TxType.REQUIRES_NEW) public void doSomething() { logger.info(" --- in DummyDao.doSomething() with TxType.REQUIRES_NEW"); Transaction txn = Ebean.currentTransaction(); if (txn == null) { logger.error(" NO TRANSACTION ??"); } else { logger.info(" --- txn - " + txn); } } @Transactional public void addToObject(Long id, Double anotherNumber, List<Long> ids) throws EntityNotFoundException { // and more code } @Transactional(batch = PersistBatch.ALL, batchOnCascade = PersistBatch.ALL, batchSize = 99) public void doWithBatchOptionsSet() { Transaction txn = Ebean.currentTransaction(); assertEquals(PersistBatch.ALL, txn.getBatch()); assertEquals(PersistBatch.ALL, txn.getBatchOnCascade()); assertEquals(99, txn.getBatchSize()); } @Transactional(batch = PersistBatch.INSERT, batchOnCascade = PersistBatch.NONE, batchSize = 77) public void doOuterWithBatchOptionsSet() { Transaction txn = Ebean.currentTransaction(); assertEquals(PersistBatch.INSERT, txn.getBatch()); assertEquals(PersistBatch.NONE, txn.getBatchOnCascade()); assertEquals(77, txn.getBatchSize()); doWithBatchOptionsSet(); // batch options set back assertEquals(PersistBatch.INSERT, txn.getBatch()); assertEquals(PersistBatch.NONE, txn.getBatchOnCascade()); assertEquals(77, txn.getBatchSize()); } }