问答详情
源自:2-6 session详解(下)

为什么我执行测试getcurrentsession保存学生对象的时候,hashcode不一样,执行的也是这个类,看见有同学也遇到一样的问题,希望大神针对这个问题给个合理的答案。

为什么我执行测试getcurrentsession保存学生对象的时候,hashcode不一样,执行的也是这个类,看见有同学也遇到一样的问题,希望大神针对这个问题给个合理的答案。

@Test

    public void testsaveStudentsWithgetCurrentSession(){

    Configuration config=new Configuration().configure();

//获得服务注册对象

ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

   //获得sessionfactory对象那个

SessionFactory sessionFactory=config.buildSessionFactory(serviceRegistry);

Session session1=sessionFactory.getCurrentSession();

Transaction transaction=session1.beginTransaction();

//生成一个学生对象

Students s=new Students(1,"张三","男",new Date(),"北京");

session1.doWork(new Work(){


@Override

public void execute(Connection connection) throws SQLException {

// TODO Auto-generated method stub

System.out.println("connection.hashCode:"+connection.hashCode());

}

});

session1.save(s);

transaction.commit();

Session session2=sessionFactory.getCurrentSession();

transaction=session2.beginTransaction();

s=new Students(2,"李四","男",new Date(),"上海");

session2.doWork(new Work(){


@Override

public void execute(Connection connection) throws SQLException {

// TODO Auto-generated method stub

System.out.println("connection.hashCode:"+connection.hashCode());

}

});

session2.save(s);

transaction.commit();

    }

    

    

在配置文档中配置过了,为什么hashcode不一样呢

提问者:慕瓜3482629 2016-11-27 20:20

个回答

  • 晴颜
    2017-02-22 21:46:41

    你好,我试了一你的下代码是没有问题的,hashcode是相同的。你看看是不是运行的不是这个方法,还是看错地方了

  • 雪前小雨
    2016-12-01 11:18:17

    我做出来了,跟视频一样,你需要源码吗?


  • 慕瓜3482629
    2016-11-28 11:59:45

    还是不一样,测试这个结果,主要是这个测试代码,跟其他的配置什么的没有关系吧。

  • hengjava
    2016-11-28 09:31:53

    @Test

    public void testSaveStudentsWithGetCurrentSession()

    {

    Configuration config=new Configuration().configure();

    ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

    SessionFactory sessionFactory=config.buildSessionFactory(serviceRegistry);

    Session session=sessionFactory.getCurrentSession();

    Transaction transaction=session.beginTransaction();

    Students s=new Students(1,"长官","男",new Date(),"武当");

    session.doWork(new Work() {

    public void execute(Connection connection) throws SQLException {

    // TODO Auto-generated method stub

    System.out.print("我的hashCode是:"+connection.hashCode());

    }

    });

    session.save(s);

    transaction.commit();

    Session session1=sessionFactory.getCurrentSession();

    transaction=session1.beginTransaction();

    s=new Students(2,"长官1","男",new Date(),"武当");

    session1.doWork(new Work() {

    public void execute(Connection connection) throws SQLException {

    // TODO Auto-generated method stub

    System.out.print("我的hashCode是:"+connection.hashCode());

    }

    });

    session1.save(s);

    transaction.commit();

    }