Can't start a cloned connection while in manual transaction mode.解决方法

 

在进行HQL查询是出现的错误:

使用iterate进行查询,代码如下,报出

Can't start a cloned connection while in manual transaction mode.

错误,

  1.             Iterator iter = session.createQuery("from Student").iterate();
  2.             while(iter.hasNext()) {
  3.                 Student student = (Student)iter.next();
  4.                 System.out.println(student.getName());
  5.             }

但是使用,如下代码进行查询,却没有报错,

 

  1.             List students = session.createQuery("from Student").list();
  2.             for (Iterator iter=students.iterator(); iter.hasNext();) {
  3.                 Student student = (Student)iter.next();
  4.                 System.out.println(student.getName());
  5.             }
  6.             System.out.println("---------------------------------------------");
  7.             Iterator iter = session.createQuery("from Student").iterate();
  8.             while(iter.hasNext()) {
  9.                 Student student = (Student)iter.next();
  10.                 System.out.println(student.getName());
  11.             }

找了相关资料,最后解决了问题,修改连接数据库的URL为

jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=Hibernate_HQL;SelectMethod=cursor

在URL后加入红色标注代码

你可能感兴趣的:(Hibernate,数据库,jdbc,Microsoft,url,sqlserver)