CosmoKiller wrote:
My feeling is, that their are too much mixes between business-logic and technical issues. I want to seperate my business-classes from my technical-classes (transaction, persistens). Any idea?
This is one of the reasons for the interest in lightweight containers such as spring. Spring has a very neat architecture: The combination of IoC "wiring" of your objects and using AOP interceptors for transaction management etc. keeps the actual logic of the application very clean.
Keeping persistence logic out of the main code of the application can be done by using separate data access objects (DAO). Incidentally, spring has very nice support for writing Hibernate DAO classes.
As for how to layer your code, check this thread:
http://forum.hibernate.org/viewtopic.php?t=929173&highlight=