首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate级联保存,如其表中有这条记录会把这条记录修改,但是不级联保存提示违反约束

2014-04-25 
hibernate级联保存,如果表中有这条记录会把这条记录修改,但是不级联保存提示违反约束两张表teacher 和 cou

hibernate级联保存,如果表中有这条记录会把这条记录修改,但是不级联保存提示违反约束
两张表teacher 和 course

级联保存的时候如果teacher里有id为't22'的记录,如果在插入一条't22'不报错,会把't22'修改

但是不级联,单独save一个id为't22'的记录的话会提示违反约束。为什么呀

public void insert(){
System.out.println("插入的是insert");
Session session = sessionFactory.openSession();
Transaction tr = session.beginTransaction();
Teacher tea = new Teacher("t22", "老师222");
Course cou = new Course("c22", "课程", tea);
tea.getCourseSet().add(cou);
session.save(cou);
tr.commit();
session.close();
}

方法调用之后数据库多了两条记录,把课程中'c22'记录从数据库删掉,老师't22'留下,在调用这个方法数据库有id为't22'的老师但是还是能插入,不报错,但是如果
public void insertTeacher(){
System.out.println("插入的是Teacher");
Session session = sessionFactory.openSession();
Transaction tr = session.beginTransaction();
Teacher tea = new Teacher("t22", "老师222");
session.save(tea);
tr.commit();
session.close();
}
这样就会报错,为什么呀
[解决办法]
你既然级联了就要两个一起

热点排行