本帖最后由 tigerwithwing 于 2012-12-04 22:41:33 编辑

解决方案 »

  1.   

    数据源是两个那session也要是两个了。你注入哪个sessionFactory就从哪个上getCurrentSession();
      

  2.   

    mpssHibernateTemplate.getSession()
    workerHibernateTemplate.getSession()
      

  3.   

    写一个hibernateUNIT类,定义不同的配置文件,设置不同的方法,然后调用就行了
      

  4.   

    写个接口,想用哪个SESSION就从接口中取
      

  5.   

    public class HibernateUtil {
    private static SessionFactory sf_original;
    private static SessionFactory sf_now;
    static{
    sf_original=new Configuration().configure("/hibernate_original.cfg.xml").buildSessionFactory();
    sf_now=new Configuration().configure("/hibernate_now.cfg.xml").buildSessionFactory();
    }
    /**
     * 根据不同的参数名判断调用哪个sessionFactory
     * @param name
     * @return
     */
    public static Session getSessionByName(String name){
    Session session=null;
    if(name.equals("original")){
    session=sf_original.openSession();
    }
    if(name.equals("now")){
    session=sf_now.openSession();
    }
    return session;
    }
    /**
     * 根据参数决定关闭哪个sessionFactory
     * @param name
     */
    public static void closeSessionFactoryByName(String name){
    if(name.equals("original")){
    sf_original.close();
    }
    if(name.equals("now")){
    sf_now.close();
    }
    }
    }类似这样