前面说过, DAO 不负责处理事务、会话或连接,而把这交给一个工具类,封装所有关于数据库的操作。把Session的获取,语句的关闭等放在这个类更好。通常的设计把数据 库的代码放到DAO的实现类中,这样如果某个DAO实现类设计不良,要改动就必须牵涉到很多地方,不利于维护。在这里的工具类代码如清单6。 清单 6. public class HibernateUtil { private static Log log = LogFactory.getLog(HibernateUtil.class); private static final String INTERCEPTOR_CLASS = "hibernate.util.interceptor_class"; private static Configuration configuration; private static SessionFactory sessionFacto...