I am using spring and hibernate. I am working on a system that has a single (and very large) service class defined as a TransactionProxyFactoryBean. I want to create a number of smaller delegate classes that will perform some of the work of the main service class. These other classes will not be available for use by clients - only by the main service. My question is do I need to define these delegate classes as TransactionProxyFactoryBean's? Or does the fact that they are called by the main service class mean they are participating in the transaction managed by the main service class. I have the property PROPAGATION_REQUIRED defined on this service.