I recently had the worst time trying to get JTA transactions to play nice in Hibernate configured via Spring. There is a lot of information out there on bits-n-pieces of the individual technologies but nothing seemed to show the whole picture, so I would like to provide the community with a working example. The code is not “perfect” but it demonstrates how to get this stuff working in harmony. A junit test, mssql scripts, and all the configs are included. I also set this up to use a composite key, since the project I worked on used a great deal of them and info was not easy to come by.
One of the libraries I used called BTM was instrumental in getting this to work (thanks Ludovic!), you will find this a lot easier to use than JOTM. There is a huge gotcha when using XA transactions with MSSQL, you have to install a dll and run some scripts to get it enabled and that info may be found here. I’m not sure if you have to do anything special in MySQL but I doubt it
The example comes as a zipped Eclipse project available here.