public class TestCopyImgHibernate  throws Exception 
public static void main(String[] args) { 
Hibernate1 hibernate1 = new Hibernate1(); 
Hibernate2 hibernate2 = new Hibernate2(); hibernate1.start(); 
hibernate1.sleep(1000);
hibernate2.start();
 } 

//lz照如上改下试下 如果不行在将 时间设置为2000 试下看。
可能是由于session1.close(); 的时候还没有来得及释放 threadLocal实例所至。

解决方案 »

  1.   

    还是不行啊 下面是异常线程1开始
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    main线程
    线程2开始
    %%%% Error Creating SessionFactory %%%%
    org.hibernate.MappingException: Could not read mappings from resource: com/aolei/hibernate/Person.hbm.xml
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
    at com.aolei.hibernate.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:59)
    at com.aolei.hibernate.HibernateSessionFactory.getSession(HibernateSessionFactory.java:43)
    at com.aolei.manythreed.hibernate.Hibernate2.run(Hibernate2.java:26)
    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.aolei.hibernate.Person
    at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:154)
    at org.hibernate.cfg.Configuration.add(Configuration.java:386)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
    ... 8 more
    java.lang.NullPointerException
    at com.aolei.manythreed.hibernate.Hibernate2.run(Hibernate2.java:27)
    Exception in thread "Thread-1" java.lang.NullPointerException
    at com.aolei.manythreed.hibernate.Hibernate2.run(Hibernate2.java:71)
      

  2.   

    要不你在
    HibernateSessionFactory  中加一个 public static Session getAnotherSession() throws HibernateException...{
            if (sessionFactory == null) ...{
                rebuildSessionFactory();
            }
            return sessionFactory.openSession();
                  
        }这样的方法.
    然后
    session1 = HibernateSessionFactory.getSession();将你获得 session的方法改成上面哪个方法 即  session1 = HibernateSessionFactory.getAnotherSession();
    另一个类也记得改一下
    试下....                                      
      

  3.   

    Could not read mappings from resource: com/aolei/hibernate/Person.hbm.xml 
    这跟线程有P关系, 明明是这个文件有问题嘛
      

  4.   

    谢谢小熊猫,我知道问题了,是session的问题,把它从finally 中移出来就行了