情况
用户很可能不会直接与各种服务对象(POJO 或会话 Bean)交互,因为使用外观模式将不同的单个服务收集到一组中。
注释应用于单个服务的@Transactional
方法级别,而不是门面的方法。
这遇到了一个实际问题——如果服务没有接口,Spring 不能为它们使用好的事务代理,从而导致各种复杂性。
问题
什么是理想的做法?
- 为了好的代理而创建单一的服务接口,
- 或将
@Transactional
注释移动到 Facade 方法(因此内部使用服务也必须流经 Facade 以确保事务)。 - 要不然?
你的现场经验是什么?我也愿意从更广泛的角度考虑。