Inverse属性导致级联cascade属性失效

一开始把cascade属性写在“一”的一侧:

<set name="EmployeeSet" inverse="true" >
        <key column="cid" >
        </key>
        <one-to-many class="com.cjx.entity.Employee" cascade= "all" inverse =“true” />
        </set>

 测试类中:

@Test
    public void DemoAdd() {
        Session session = null;
        Transaction tx = null;
        try{
            session = HibernateSessionFactory.getSessionObject();
            tx = session.beginTransaction();
            Company company = new Company();
            company.setCname("ali");
            company.setPhone("1231111");
            Employee employee = new Employee();
            employee.setEname("cjx");
            employee.setEphone("13610233");
            //这句是重点
            company.getEmployeeSet(employee);
            session.save(company);
            tx.commit();
        }catch(Exception e) {}
    }

后来发现级联失效了,原来inverse会导致cascade失效

应该写在“多”的那边!

  <class name="com.cjx.entity.Employee" table="t_employee">
    <id name="eid" column="eid">
    <generator class="native"></generator>
    </id>
    <property name="ename" column="ename"></property>
    <property name="ephone" column="ephone"></property>
    <many-to-one name="company" class="com.cjx.entity.Company" column="cid" cascade="all"></many-to-one>
    </class>
    

测试类也要改:

@Test
	public void DemoAdd() {
		Session session = null;
		Transaction tx = null;
		try{
			session = HibernateSessionFactory.getSessionObject();
			tx = session.beginTransaction();
			Company company = new Company();
			company.setCname("ali");
			company.setPhone("1231111");
			Employee employee = new Employee();
			employee.setEname("cjx");
			employee.setEphone("13610233");
			//加了inverse后要加这个
			employee.setCompany(company);
			session.save(employee);
			tx.commit();
		}catch(Exception e) {}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值