简单总结一下 多表关系 一对多/多对一 O 对象 一的一方使用集合. 多的一方直接引用一的一方. R 关系型数据库 多的一方使用外键引用一的一方主键. M 映射文件 一: 多: 操作: 操作管理级别属性. cascade: 级联操作 减少我们书写的操作代码. none(默认值) 不级联 save-update: 级联保存 delete: 级联删除 all: 级联保存+级联删除 结论: 可以使用save-update.不推荐使用delete. 也可以不用cascade. inverse: 反转关系…
Customer.hbm.xml 基本的参数都在里面了 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">…
查询优化------关联级别查询 集合策略 在Mapper映射文件中添加属性 测试数据 lazy:true 延时加载数据 fetch:select 单表查询 控制台显示输出 结论:单表查询,使用到在加载需要的数据 测试数据2 lazy:false 立即加载数据 fetch:select 单表查询 控制台输出的结果一样只是时机不一样 这个是立即加载数据select结果 测试数据3 lazy:extra 及其懒惰 fetch:select 单表查询 测试数据4 lazy:true |false |e…
Criteria是面向对象的无语句查询 Demo.java package com.legend.b_criteria; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Order; import org.hibernate.criterion.Pr…
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将讲述Hibernate中的多对多关联关系的操作,准备的篇幅较少,望海涵 一,讲述多对多 多对多的关联关系,比如学生和教师来说,一个学生由多个教师授课,一个教师授课给多个学生,这就是多对多 讲述多对多,首先要有一个表叫做中间表,他来承载关联关系 二,实体类的创建 1.Stu学生类创建: package cn.dawn.day04.entity; /** * Created by Dawn on 20…
Hibernate中双向多对多的两种配置方式 1.建立多对多双向关联关系 package cn.happy.entitys; import java.util.HashSet; import java.util.Set; public class Employee { private Integer empid; private String empname; private Set<ProEmp> emps = new HashSet<ProEmp>(); public Set&…
1. 一对多映射 1.1 JavaWeb 一对多建表原则 多方表的外键指向一方表的主键; 1.2 编写一对多的 JavaBean // 客户(一方)和联系人(多方) // 客户(一方) JavaBean public class Customer{ private Long cust_id; private String cust_name; private Long cust_create_id; ... // 关联多方 // Hibernate 框架默认的集合是 Set 集合,该集合必须要自…
前面两节我们讲到了一对一的关系,一对多,多对一的关系,相对来说,是比较简单的,但有时,我们也会遇到多对多的关系,比如说:角色与权限的关系,就是典型的多对多的关系,因此,我有必要对这种关系详解,以便大家一起学习.下面来看例子: 首先我们必须建立二者的vo: public class Role implements Serializable {//这是role对象 private Integer rid; private String rdesc; private String rname; pri…
序言 莫名长了几颗痘,真TM疼,可能是现在运动太少了,天天对着电脑,决定了,今天下午花两小时去跑步了, 现在继上一章节的一对多的映射关系讲解后,今天来讲讲多对多的映射关系把,明白了一对多,多对多个人感觉还是比较容易的,需要理清楚其数据库关系图,那么你就拿下了它.映射文件的配置还是那么些死东西. --WH 一.小疑问的解答 问题一:到这里,有很多学习者会感到困惑,因为他不知道使用hibernate是不是需要自己去创建表,还是hibernate全自动,如果需要自己创建表,那么主外键这种设置也是自己设…
1.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用.   2.多个session与一个connection绑定,底层操作数据库的时会进行同步.   3.如果某个connection正在被某个session占用, open一个session,则创建一个新的connection与之对应.   4.有连接池的情况下,session关闭后,connection不一定关闭, 还可以查…