各位,我用Hibernate Session的save方法做测试的时候,发现取得Session特别慢,什么原因?
配置文件:
<!-- Database connection settings -->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">me</property>
<property name="connection.password">me</property>
<property name="connection.pool_size">5</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
代码:
                   Session session =new AnnotationConfiguration().configure()
.buildSessionFactory().openSession();
                  Teacher teacher = new Teacher();
teacher.setName("lisi");
teacher.setTitle("中级");
teacher.setBirthday(new Date());
session.beginTransaction();
session.save(teacher);
session.getTransaction().commit();
session.close();
}大家帮忙给点建议.

解决方案 »

  1.   

    把java1.6的bin目录设置到windows环境变量path里。
      

  2.   

    不知道你所说的慢,究竟有多慢;如果不是那种N秒的情况的话,可以尝试换连接池(不要用Hibernate自建的),比如 c3p0 或者是中间件自己提供的。另外还可以先用SQLPlus命令行来直接连接数据库试试看速度如何。
      

  3.   

    用getCurrentSession()试试,切记这个方法得到的Session不用close,不然会报错。弱弱问一下:LZ是在看马士兵的Hibernate教学视频吧?