Hibernate一对多保存思考题
来源:互联网 发布:985 211文件失效 知乎 编辑:程序博客网 时间:2024/05/17 08:18
出道题给大家玩玩
public class Customer { private Long id; private String name; private Set<Linkman> linkmans = new HashSet<Linkman>(0); // 一对多}
public class Linkman implements java.io.Serializable{ private Long id; private String name; private Customer customer; // 多对一 }
package test.java;import org.hibernate.Session;import org.hibernate.Transaction;import org.junit.Test;import util.HibernateUtils;import entity.Customer;import entity.Linkman;/** * 请说明以下语句各显示发送多少条SQL语句,是否报错,外键是否保存 * 并说明在Customer设置不维护外键inverse="true"的情况下的结果 */public class SaveTest { @Test public void saveTest() throws Exception { // 1.多对一先存多: saveCommand("lc", "sl", "sc"); // 2.多对一先存一: saveCommand("lc", "sc", "sl"); // 3.一对多先存多: saveCommand("cl", "sl", "sc"); // 4.一对多先存一: saveCommand("cl", "sc", "sl"); // 5.互关联先存多: saveCommand("cl", "lc", "sl", "sc"); // 6.互关联先存一: saveCommand("cl", "lc", "sc", "sl"); // 7.多对一只存多: saveCommand("lc", "sl"); // 8.多对一只存一: saveCommand("lc", "sc"); // 9.一对多只存多: saveCommand("cl", "sl"); // 10.一对多只存一: saveCommand("cl", "sc"); // 11.互关联只存多: saveCommand("cl", "lc", "sl"); // 12.互关联只存一: saveCommand("cl", "lc", "sc"); } public void saveCommand(String... commands) { Session session = HibernateUtils.getCurrentSession(); Transaction tx = session.beginTransaction(); Customer customer = new Customer(); customer.setName("客户"); Linkman linkman1 = new Linkman(); linkman1.setName("联系人1"); Linkman linkman2 = new Linkman(); linkman2.setName("联系人2"); for (String command : commands) { switch (command) { case "lc": // 多对一 linkman1.setCustomer(customer); break; case "cl": // 一对多 customer.getLinkmans().add(linkman1); break; case "sc": // 存一 session.save(customer); break; case "sl": // 存多 session.save(linkman1); break; default: break; } System.out.println(" " + customer + "\n " + linkman1); } System.out.println("提交:"); tx.commit(); System.out.println(" " + customer + "\n " + linkman1); }}
阅读全文
0 0
- Hibernate一对多保存思考题
- Hibernate中一对多关联关系保存
- Hibernate中一对多关联关系保存
- hibernate的级联保存操作(一对多)
- 框架之hibernate一对多表创建保存
- Hibernate 一对多例
- hibernate一对多例子
- hibernate 一对多映射
- hibernate一对多
- hibernate一对多 更新
- Hibernate一对多映射
- Hibernate 一对多
- Hibernate 一对多映射
- Hibernate一对多(单向)
- Hibernate一对多(双向)
- hibernate一对多
- Hibernate 一对多映射
- hibernate 一对多映射
- 我的第一节C语言课
- tensorflow中保存模型、加载模型做预测(不需要再定义网络结构)
- 数据结构|创建学生成绩的静态链表(实验2.4)
- 间接寻址的基本及其应用(实验2.4)
- Java日期时间相关的类
- Hibernate一对多保存思考题
- #Java 核心技术卷一阅读笔记# 第十二章 Swing用户界面组件
- 实验二之静态链表
- 相对、绝对、固定定位,以及其层级关系和脱离文档流的影响
- asp.net如何使文本对齐方式为剧中
- 【UNP学习笔记】套接字地址相关函数
- 设计模式C++学习笔记之二(Proxy代理模式)
- [Java]从今天开始,每天记录一点点
- win64 python安装PIL出错