使用Hibernate开发租房系统(6)

关联级别:
(1)一对多:默认加载方式为懒加载 lazy=true
lazy="false":加载主对象时 会直接将其关联对象一并查询出来
lazy="extra":懒加载 聪明的懒加载 当我调用集合中的某些属性 而不是将集合中所有的内容迭代出来
发出一条合适的sql语句
(2)多对一:默认加载方式为懒加载 lazy=proxy 依靠代理对象将目标对象取出
lazy="false":加载主对象时 会直接将其关联对象一并查询出来
lazy="no-proxy":懒加载 直接访问目标对象

openSessionInView
(1)解决session对象的分配问题 1次请求 只会存在一个session
(2)解决事务
(3)懒加载和session息息相关 完美解决
缺陷:事务管理并不完善

cascade
使用一方的集合装载所有的对象
在对应的set bag标签上 赋予cascade

单向一对多的配置:
①编写多方实体类
②编写一方实体类 (在一方实体类中 增加一个多方的集合对象)
③编写多方的实体映射文件
④编写一方的实体映射文件(在文件中增加 一个标签set)
⑤将2个实体映射文件注册到hibernate.cfg.xml
ps:如果想想把set 换成List
a.将实体类中的set换成List
b.将配置文件中的set标签换成bag标签

单项多对一关联
①编写一方的实体类
②编写多方的实体类 (将多方实体类中原有的外键属性 更改成1方的对象类型)
③编写一方的实体映射文件
④编写多方的实体映射文件(将原来的外键的配置属性 更改成many-to-one)
⑤将两个实体映射文件注册到hibernate.cfg.xml

转载于:https://www.cnblogs.com/a2367763409/p/6649365.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值