hibernate的数据查询 4

本文深入探讨了Hibernate中Query的iterate()与list()方法的性能差异,setProperties()方法限制了日期类型参数绑定,以及如何通过命名查询、HQL与QBC进行高效检索与投影查询,特别强调了统计函数的支持差异与对集合过滤的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、
     Query的iterate()方法与list()方法实现的功能是相同的,
     但是当要检索的部分对象已经处在持久化状态或者是游离状态时,用iterate()方法要比用list()方法性能高。
二、
     setProperties()方法在执行过程中调用了setParameter()方法,
     所以以日期类型的命名参数不能通过此方法绑定。
三、
     在程序中通过session的getNamedQuery()方法调用命名查询语句。
四、
     hibernate为字符串匹配查询同样提供了通配符,
     用"_"匹配单个字符;用"%"匹配任意长度的字符。
     注意:"%"可以用于汉子匹配,"_"不可以。
五、
    HQL支持统计函数,QBC不支持统计函数。
    当确定返回值只有一个时,可以通过调用uniqueResult()方法,将返回值转变为一个object对象,否则为数组。
六、投影查询
    当值需要访问一个持久化类的部分属性时,可以只加载需要的那部分属性,不过此时的返回值不再是由持久化对象组成的结果集,
    而是由object型数组组成的结果集,这种只检索部分属性的查询方式又叫做投影查询。
七、
    有两种办法可以实现对集合过滤的功能
    ①通过编程接口实现
    ②通过配置映射文件实现
八、
    HQL检索方式适合于静态查询
    QBC检索方式适合于动态查询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值