In my application my sturcture is as:
JSF Managed bean -->Business Delegate --> Service layer -->DAO Layer -->Database
but to execute a complex business logic i have Facade and call squence become:
JSF Managed bean -->Facade --> Service layer -->DAO Layer -->Database
All of my service classes are marked Transactional as:
The method in my Facade has complex business rules and then update multiple tables thorugh calls to Servie methods. So i marked method in facade as @Transactional.Code:@Component @Transactional public class DesignerServiceImp implements DesignerService{
Now i have mix of Transactioanl at Service Layer and Facade level. My Facade has service injected. The Transaction started at Facade method is not propagted to Service methods so RollBack is not performed in case of error.


Reply With Quote