I am working on a JSF application in which I am using Spring and hibernate for data access. I am using annotations to mark transaction management in my application. Somehow my transaction is not rolling back properly. I am passing User object that has a list of roles and addresses. During update, update of one of the list fail, however, when I check user table it shows an update. Attached are following files;
WebContext.xml : Configuration about annotations
UpdateUserService : This is where I am using @Transactional annotation
ExceptionLog : Information about exception that I seen in server console.
Use the search as this question has been answered numerous times before. I suggest a read of the aop chapter of spring.
You annotated an internal method with @Transactional which is basically useless. Spring uses proxies, only method calls into the object are intercepted, not external calls.