Plain JPA does not support nested transaction but by keeping track of @CommitAfter stack, we can support "pseudo nested" transactions. The concept was first demonstrated in https://github.com/satago/tapestry-jpa-transactions. @kaosko started an effort to merge the codebase to T5 (https://github.com/satago/tapestry-jpa-transactions/pull/5) but because of fundamental limitations in the original design (no support for multiple persistence units, pre/post commit hooks were only available for the last transaction), @kaosko refactored the implementation for more general use (https://github.com/kaosko/tapestry-jpa-transactions). The original code was under Apache license with support from the original authors to merge the codebase to T5 and the refactored implementation was solely made by @kaosko. This issue is about merging the refactored implementation to T5.5 and replacing the existing JPA classes (mainly class workers, advisors) by the those provided by the new implementation.