今日学习之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表示放弃维护。

今日学习之hibernate(三)

多对多建表:创建第三张表维护关系

多对多映射配置

  • 创建实体类,实体类中,双方各自添加对方的set集合。
  • 配置映射关系,对应两个映射文件,双向维护外键的关系。key值是当前文件在第三张表的外键的名字。
  • 配置核心配置文件。

级联删除:通过第三张表维护

让某个用户有某个角色

第一步 根据id查询用户和角色

第二步 把角色对象放到用户set集合

今日学习之hibernate(三)

让某个用户没有某个角色

第一步 根据id查询用户和角色

第二步从set集合里面把角色移除

今日学习之hibernate(三)

今日学习之hibernate(三)