My first comment would be "Don't do this, use Session Facades instead!"
By using a session facade you will get transactions for free.
It would also allow you to move your we application to a different container not running in the same JVM if you ever needed to.
Once you have placed all of your logic behind a session facade it would also make it easier to implement other clients, e.g. You may in the future decide you want to expose the logic using web services.