I've been trying to get jBPM to work with Spring-managed transactions. I posted a detailed reply to message that's probably not in the right forum, since this is specifically an issue with jBPM integration rather than the core DAO/TX stuff:
Summary is, jBPM isn't honoring declarative transactions because it calls SessionFactory.openSession directly. Even if it has the right SessionFactory, openSession starts a *new* session/connection.
Any help or insight would be greatly appreciated.