hibernate连接sqlserver2000问题的解决(父子关系同时保存时发生 one-to-many & many-to-one)

server|sqlserver|解决|问题

TransOrder: <set name="OrderItems" table="orderitem" lazy="false" inverse="true" cascade="all">  <key column="Order_ID"/>  <one-to-many class="com.kaoyanhelper.dao.OrderItem"/>       </set>

OrderItem: <class name="OrderItem" table="OrderItem"> <id column="OrderItem_ID" name="Id"  type="java.lang.Integer"> <generator class="identity" /> </id><many-to-one class="com.xx.dao.TransOrder" name="TransOrder" column="Order_ID"/> </class>

测试main() public static void main(String[] args) throws HibernateException {  Session session = HibernateUtil.currentSession();  Transaction tx = session.beginTransaction();      TransOrder order = new TransOrder();  order.setAcceptType("www");  order.setAddress("tom");  order.setCity("changzhou");     OrderItem item = new OrderItem();  item.setItemCount(new Integer(100));  item.setItemMoney("1200.2");  item.setItemType("kysj");  item.setPaperitemId(new Integer(101));  item.setResourceitemId(new Integer(102));       order.getOrderItems().add(item);   item.setTransOrder(order); 

  session.save(order);  session.flush();    tx.commit();  HibernateUtil.closeSession(); }

error message:

[Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.

解决方法:

居然是ms的问题,搞了几天,浪费了,

一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。

设置hibernate.cfg.xml

<property name="hibernate.connection.url">   jdbc:microsoft:sqlserver://Localhost:1433;SelectMethod=cursor;DatabaseName=yourdb  </property>

SelectMethod=cursor; 默认是SelectMethod=diret;

我是在hibernate syn中使用的 ,我还改 .hibernateSynchronizer文件 ,没有 改 hibernate.cfg.xml ,呵呵 晕。

最好两个文件都改,改hibernate.cfg.xml 能成功运行。

时间: 2024-10-31 22:56:36

hibernate连接sqlserver2000问题的解决(父子关系同时保存时发生 one-to-many &amp;amp; many-to-one)的相关文章

Hibernate连接sqlserver2000老报错

问题描述 我用Hibernate连接sqlserver2000老报错信息:connectionproperties:{user=sa,password=****}2009-12-2319:39:02org.hibernate.cfg.SettingsFactorybuildSettings警告:Couldnotobtainconnectionmetadatajava.sql.SQLException:socketcreationerror网上说是由于服务没开,可是我的数据库是打开的啊.以前一直用

解决MindManager打开或保存时出现错误问题

  用户在使用MindManager时,会因为版本.系统等问题而造成操作上的故障,常见的一个就是MindManager打开或保存时出现错误.本文就讲解了如何解决MindManager打开或保存时出现错误的问题. 问题描述:当试图用保存,另存为或者打开命令来保存或者打开导图文件时,MindManager 出错并且关闭. 问题分析:Windows显示主题无法显示MindManager客户端的"保存打开"的对话窗口. 解决措施:改变Windows显示设置为标准模式,例如Windows Cla

hibernate 连接sqlserver2000

使用hibernate 如何连接sqlserver2000呢? 说实话,sqlserver2000 已经非常老了,但是没有办法啊,有些老的系统用的仍是sqlserver2000. (1)准备sqlserver2000驱动 驱动下载地址:http://sourceforge.net/projects/jtds/files/ 当然我已经下载好了,见附件jtds-1.3.1-dist.zip (2)hibernate 数据库连接属性配置 beans.xml的配置(部分): Xml代码   <bean 

lucene join解决父子关系索引

1 背景        以商家(Poi)维度来展示各种服务(比如团购(deal).直连)正变得越来越流行(图1a), 比如目前美食.酒店等品类在移动端将团购信息列表改为POI列表页展示.                    图1   a:商家维度展示信息: b:join示意            这给筛选带来了复杂性.之前的筛选是平面的,如筛选poi列表时仅仅利用到poi的属性(如评价.品类等),筛选deal列表时也仅仅根据deal的属性(房态.价格等).而现在的筛选是具有层次关系的,我们需要

GridView下面多层父子关系循环,不是嵌套,该如何解决?

问题描述 如图,我想在蓝色的数据下要添加它对应的BOM层次,多层父子关系,用treeview很容易就加载出来,但格式不一致,跟图片不一样的,而我想达到的效果就是要图片中的一样,这种该如何实现呢? 解决方案 解决方案二:你说的貌似是列树哦解决方案三:先算好最大需要实现的级次然后GridView里面只放一个模板列这个模板列里面放一个tabletable里面的各个tr可以使用repeater来绑定实现然后这个tr里面只有一列,每个td里面再放置一个只有一行并且多列的table以上为第一级如果第一级下面

信息设计中的“父子关系”

交互设计工作核心在于信息架构和交互细节设计.信息架构包括信息分类以及信息展示逻辑设计;交互细节则多表现为控件的选择,交互效果的定义等.在信息设计中,遇到最棘手的问题就是信息量太多而显得设计结果不尽人意,那么在砍不掉需求的前提下(信息太多,也许是需求本身还有被精简的可能性),如何解决这类问题呢? 通常来说,信息设计的时候有很对可遵循的关系在,信息间互斥,信息间相辅相成,信息间属于包含与被包含关系等.那么今天要探讨的是"父子关系".所谓"父子关系"也就是核心信息与辅助信

Win7系统下VPN连接错误711的解决方法

  Win7系统下VPN连接错误711的解决方法,具体解决的方法步骤如下所示: 问题描述: 系统是Windows 7 64位旗舰版,之前没有使用任何优化工具优化系统,但总是无法启动VPN,提示"无法加载远程访问连接管理器服务.711错误:The operation could not finish because it could not start the Remote Acess Connection Manager service in time.Please try the operat

java-存在父子关系的数据我怎么处理存入数据库

问题描述 存在父子关系的数据我怎么处理存入数据库 存在上述数据请问我怎么处理后插入数据库 解决方案 已经解决了,解决方法 //拷贝 public void copy(Map mapString newParentId){ List list = auditDao.getVersionAudit(map); Iterator li = list.iterator(); while(li.hasNext()){ //获取到被复制的事项 Audit audit = (Audit)li.next();

ssh框架,连接SQLServer2000 出错

问题描述 spring管理hibernate4,连接SQLServer2000时,提示Transaction not successfully started Messages:Transaction not successfully startedCould not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully