You need to handle the transaction management from your own code. You can do that either via
- user transactions - use the transaction manager to start/commit the transaction
- CMT - use the container to manage the transactions for you (e.g via CDI)
In either case, ModeShape will see the existence of a transaction and will enroll in it, as opposed to starting/stopping its own transactions. Hibernate most likely has the same support.