Hibernate笔记三之检索策略、查询总结、连接池

一、检索策略

类级别:
load 方法 =》受class 元素上的lazy属性影响

关联级别:

1、一对多,多对多
            fetch:
                select (默认值)使用普通select 
                join 使用表连接查询集合
                subselect 同时加载多个对象的集合时,使用子查询
            lazy:
                true (默认值)需要使用时才会加载
                false 立即加载
                extra 极其懒惰,调用集合的size 时,会发送count 语句
2、多对一
            fetch :
                select (默认值)使用普通select 语句查询集合内容
                join 使用表连接查询集合
            lazy:
                false 立即加载
                proxy 交给对方决定 -》受class 元素上的lazy 属性所影响

        3、批量检索
            batch-size : n 初始化N个对象的集合

二、查询总结

    1get / loadd 根据oid 进行检索
    2、对象视图导航检索
    3、Sql 语句查询
    4、HQL语句
    5、Createria 查询

三、事务,锁,连接池

1、c3p0 连接池

    1、导包 -》 Hibernate 的类库中的Optional 文件夹下
    2、配置c3p0 核心类到配置文件中
    3、配置 c3p0 中的使用的参数

2、事务

  • 隔离级别设置: (isolation)

这里写图片描述

    1. 悲观锁

      读锁:select * from xxx lock in share mode =>                      get(class,id,LockOptional.READ)
      写锁:select * from for update  get(class,id,LockOptional.UPGRADE);
      
    2. 乐观锁

        1、实体中加入版本控制属性(Integer)

        2、Hibernate 中加入Version 元素 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值