版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/84745775
在看这篇文章之前,需要掌握一下知识点:
1、主体类的映射文件
https://blog.csdn.net/qq_37591637/article/details/84337701
2、hibernate的核心文件
https://blog.csdn.net/qq_37591637/article/details/84339503
3、hibernate对数据库的操作
https://blog.csdn.net/qq_37591637/article/details/84378801
https://blog.csdn.net/qq_37591637/article/details/84371816
来一个例子了解一下
package cn.com.test;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import cn.com.dao.Kinds;
import cn.com.dao.User;
import cn.com.util.Hibernate_Utils;
public class Demo6 {
@Test
public void demo() {
/**
* author:命运的信徒 时间:2018-12-3
* 目的:联级操作是指当主控方执行保存、更新或者删除操作时,其关联对象(被控方)也执行相同的操作
*/
// 1.建立连接
Session session = Hibernate_Utils.openSession();
// 2.开启事务
Transaction tx = session.beginTransaction();
// 3.设置值
Kinds k = new Kinds();
k.setKinds("工人");
User u = new User();
u.setName("小王");
u.setNumber("012");
// 4.开始设置彼此关系
k.getUsers().add(u);
u.setK_kinds(k);
// 只保存主控方
/*主控方可以是kinds可以是user;
*不同的是如果哪个是主控方,就添加 cascade="save-update"
*/
session.save(k);
tx.commit();
session.close();
}
}
主控方的映射文件
<set name="users" cascade="save-update">