Formerly, transaction support was built into the persistence extension. It's now considered as a separate extension from persistence to allow other tools to use it. One case may be if you want to test out a JMS message queue using transactions from your test case.
By default, when you add it to your classpath and run a persistence-based test, transaction support will be enabled. It should be a safe assumption that any extension would also load transaction support when needed, as long as it's on the classpath. If desired, you can tweak the transaction support in your test cases (note that this only applies to your test classes; EJBs and CDI beans behave as is when deployed to the application server).
The API for the transaction extension is simply an enum and an annotation. Adding @Transactional
to your test case will turn on the transaction support. Setting the transaction mode attribute will control some aspects of the test. The default behavior is to commit after...