Hibernate仍是较为基础的CRUD操作上的轻量包装,觉得还是应该在Hibernate基础上再(或者说仍然保留)包装成DAO,因为直接的CRUD操作并不能满足业务层或表现层所使用的业务逻辑对象。可以这样理解Hibernate的位置,按照原来的做法,在自己写DAO时,Hibernate替代的是原来自己写SQL的那段代码。当然Hibernate的能力不止如此,它还有容易使用连接池等优点。但Hibernate的本质就是以对象的方式方便地做CRUD操作。
对于引入Hibernate,对于使用第三方的framework的情况下,多半不太适合,因为一般第三方的framework都会实现了自己的DAO层。它实际的使用是在构建新的应用时,在设计阶段就决定使用持久层的。