cascade 级联

来源:互联网 发布:伴奏降调软件免费下载 编辑:程序博客网 时间:2024/04/29 07:32


manytoone onetoone这些里有个cascade属性,放cascadetype数组,要引入进来

import javax.persistence.CascadeType;

 

接着

@ManyToOne(cascade={CascadeType.ALL})@JoinColumn(name="teacherId")public Set<student> getSet() {return set;}


这样,就可以做级联save,update和delete的操作

 

 

测试的时候

Person p=new Person();p.setName("hong");Car c=new Car();c.setName("baoma");Car c2=new Car();c2.setName("aodi");p.getCars().add(c);p.getCars().add(c2);session.beginTransaction();session.save(p);session.getTransaction().commit();

如果是这样就只有可以从person这边级联到car这边,但是car这边级联不到person这边

结果会

 

如果加上

Person p=new Person();p.setName("hong");Car c=new Car();c.setName("baoma");Car c2=new Car();c2.setName("aodi");p.getCars().add(c);p.getCars().add(c2);c.setPerson(p);c2.setPerson(p);session.beginTransaction();session.save(p);session.getTransaction().commit();

这样两边都可以级联到

 

 

铁律:双向关系要设置双向关联,不然会出问题