所以我已经完成了这个通用的 DAO 事情,从表面上看,它似乎没问题。它基本上是仿照 Hibernate 家伙的 CaveatEmptor 示例应用程序。
最重要的是,我有一个业务层……应用程序的核心。它完全不知道任何特定的 DAO 实现。
到目前为止,一切似乎都很好,直到我开始考虑交易。如果将事务留给客户端来实现,那么我究竟如何保持我在各层之间进行的良好分离?也就是说,我目前正在使用 Hibernate,我不太想将特定于 Hibernate 的事务添加到我的业务层代码中。
我可以使用开始、提交和回滚方法创建一个简单的事务接口,并将实现传递给我的业务层......但是......我不确定......
所以这是一个挑战:你能为我推荐一种不使用 Spring(或 EJB,或任何其他附加框架)这个词的方法吗?