我正在处理的应用程序有一个维护数据库连接的类.此类的所有成员都是静态的,以强制执行类似单一的模式,因此实际的连接逻辑在静态初始化程序块中执行:
public class HibernateUtil { private static final SessionFactory sessionFactory; static { sessionFactory = new Configuration().configure().buildSessionFactory(); } static void openSession() { //open session with sessionFactory } public static Session currentSession() { //return the currently open session } static void closeSession() { //close the currently open session } }
但是,应用程序现在需要打开与第二个数据库的数据库连接.现在这个类的结构方式,在保持上述模式的同时维持第二个连接的唯一方法是创建第二个类(类似于SecondHibernateUtil)并更改初始化块中的一行配置.这感觉真的是浪费了大量的复制/粘贴.
任何人都可以提出一种方法,我可以重新设置此设置以同时维护多个连接,同时不会对已经调用现有方法的代码过度破坏吗?