论坛首页 Java企业应用论坛

Hibernate插入Sql server2000时出现的问题

浏览 3344 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-02-20  
我在操作数据库时出现以下问题:
[Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
进入该类时第一次操作可以成功,随后进行数据库操作时就出现以上问题,请教大家该如何解决,谢谢!!!
   发表时间:2004-02-20  
知道一些了,原来是在类中我的每次操作数据库的动作都要关闭Session一次,当连续调用操作数据库的函数时就不可以了,如果要每次都关闭Session一次,那么必须在我每次调用函数是都要调用一次:
sf = new Configuration().configure().buildSessionFactory();
这样就没什么问题了,可是如果这样每次都要将hibernate.cfg.xml重新加载一次很费时间,如果表很多,如何只调用一次hibernate.cfg.xml以减少操作时间,在次求教高手,请大家不吝赐教,谢谢!!!
0 请登录后投票
   发表时间:2004-02-20  
用ThreadLocal来管理,论坛有很多这方面的讨论和例子,搜索一下吧。
0 请登录后投票
   发表时间:2004-02-21  
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind;SelectMethod=cursor

0 请登录后投票
   发表时间:2004-02-22  
谢谢OldWen老民工和bluemeteor的提示,经过调整用ThreadLocal来管理线程中的session,这样就避免了每次都sf = new Configuration().configure().buildSessionFactory(); 时不到1000条数据就内存溢出的问题了,呵呵
于是做了个10000条数据的连续多张表的操作,可是在插入过程中出现了些小小的问题:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]varchar 值 '13999906240' 的转换溢出了 int 列。超出了最大整数值。
真是不明白,出问题的函数是一个验证函数,其功能就是将现在登陆的用户的手机号与库表中相应字段比较,可是却出现上面的问题,不知道是什么原因,希望各位高手能够解答,谢谢!!!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics