hibernate:无法级联插入

工程是通过MyEclipse database brower 逆向工程生成PO,结果无法 正常完成数据的级联插入(客户与订单关系);

java代码如下 :

public void saveCustomerAndOrder(){
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			Customers c = new Customers("张三","济南",new HashSet());
			Orders o = new Orders("zhansan2424");
			o.setCustomers(c);
			
			c.getOrderses().add(o);
			session.save(c);
			tx.commit();
		} catch(Exception e){
			if(tx!=null){
				tx.rollback();
			}
			e.printStackTrace();
		} finally {
			session.close();
		}
	}

  这代码 是没错的。。出错的原因在于:hibernate映射文件中:

<set name="inClothmns" inverse="true"  cascade="all" lazy="false"> 
            <key>
                <column name="intable_id" />
            </key>
            <one-to-many class="net.itaem.po.InClothmn" />
 </set>
 <many-to-one name="customers" class="com.yehancheng.bean.Customers" fetch="select" cascade="all" >
            <column name="customerId" not-null="true" />
 </many-to-one>

将上面xml文件 中的黄色字体 的属性添加 进去以后就可以正常了。

转载于:https://www.cnblogs.com/yehancheng/archive/2013/06/09/3128327.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值