今日学习之hibernate(三)
一对多建表:通过外键建立关系
一对多映射配置:
- 创建实体类,实体类中,一的那一方要含有多的一方的set集合,多的那一方把一的一方的是实体类对象加入进去。
- 配置映射关系,对应两个映射文件,双向维护外键的关系。key值是外键的名字。
- 配置核心配置文件。
级联保存:映射文件里面set标签进行配置cascade="save-update"
//2.1 把联系人对象 放到客户对象的set集合里面
customer.getSetLinkMan().add(linkman);
//2.2 把客户对象放到联系人里面
linkman.setCustomer(customer);
//2.3 保存到数据库
session.save(customer);
session.save(linkman);
级联删除:cascade="delete"
级联修改:在放弃关系维护映射文件中,进行配置,在set标签上使用inverse属性,true表示放弃维护。
多对多建表:创建第三张表维护关系
多对多映射配置:
- 创建实体类,实体类中,双方各自添加对方的set集合。
- 配置映射关系,对应两个映射文件,双向维护外键的关系。key值是当前文件在第三张表的外键的名字。
- 配置核心配置文件。
级联删除:通过第三张表维护
让某个用户有某个角色
第一步 根据id查询用户和角色
第二步 把角色对象放到用户set集合
让某个用户没有某个角色
第一步 根据id查询用户和角色
第二步从set集合里面把角色移除