• 二.Hibernate 提供的查询方式


    OID查询方式(o指的是object)

    通过get()和load()方法加载指定OID的对象

    save()添加 update()更新 delete()删除

    HQL查询方式(面向对象的查询语言)

    query的list()方法返回查询的集合

    属性查询

    投影查询(实体类中必须有对应的构造方法)

    select Emp(ename,pno) from Emp

    分页的实现

    query.setFristResult((pageindex-1)*pagesize);设置开始的记录数

    query.setFristResult(pagesize);设置每页最大记录数

    连接查询   》内连接(From Entity inner join Entity.property)

         》外连接(From Entity outer join Entity.property)

         》左外连接(From Entity left join Entity.property)

         》右外连接(From Entity right join Entity.property)

    实体更新和实体删除都是调用的executeUpdate()方法。

    通过query接口使用HQL语言进行查询

    QBC查询方式

    通过Criteria等接口和类进行查询;

    本地SQl查询方式

    使用原生SQL语言进行查询

    对象导航查询方式

    通过已经加载的对象,导航到其关联对象

    Hibernate检索策略

    立即检索:立即加载与当前对相关联风对象,需要执行对跳select语句

    延迟检索:不立即加载与当前对相关联的对象,在第一次访问关联对象时才加载在其信息

    迫切做外连接检索:通过做外连接加载与当前对象关联的对象。为立即加载检索策略,但

              在执行的select语句少,只执行1条select连接查询语句

    检索作用域》类级别:只作用于当前对象load()》关联级别:

    类级别检索只支持load()或get()。当需要按照OID方式查找时建议用类级别检索

    ——load和get方法的区别

    》记录不存在时的处理方式不同 get()返回Null,load抛出HibetnateException异常

    》load可以返回实体的代理类是咧,get永远都是直接实体类。或者说liad方法支持延迟加载配置Lazy="true",而get

    方法总是立即加载.

    2.对于HQL增,删,改 要进行事物的处理(Transaction)注意:打开的事物必须创建事物对象接收,操作后必须尽心事物的提交(commit)不然报空指针异常.

  • 相关阅读:
    CF553C Love Triangles
    CF875C National Property
    【UOJ #210】【UER #6】寻找罪犯
    ICPC南昌网络赛I题Yukino With Subinterval
    进阶式-日志打印-构建器模式
    Java 对象类型
    mqtt 消息重传
    Java 关键字 final 知识点巩固
    MQTT 5.0 新特性
    emqx 认证详细
  • 原文地址:https://www.cnblogs.com/wanghongjie/p/4820715.html
Copyright © 2020-2023  润新知