全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Hibernate中的多表查询及抓取策略

1.Hibernate中的多表查询

 1.1SQL中的多表查询

【交叉连接】

select * from A,B;

【内连接】

显示内连接:inner join(inner 可以省略)

Select * from A inner join B on 条件;

隐式内连接:

Select * from A,B where 条件;

【外连接】

左外连接:left outer join

Select * from A left outer join B on 条件;

右外连接:right outer join

Select * from A right outer join B on 条件;

1.2Hibernate中的多表连接查询

【交叉连接】

交叉连接

【内连接】

显示内连接 from Customer c inner join c.linkmans

隐式内连接

迫切内连接from Customer c inner join fetch c.linkmans

【外连接】

左外连接

右外连接

迫切左外连接

2.Hibernate中的抓取策略

2.1 延迟加载lazy

lazy延迟加载: 查询的时候不发送sql语句,在使用对象的时候才发送sql语句查询

延迟加载氛围类级别的延迟加载和关联级别的延迟加载

2.1.1类级别的延迟加载

使用延迟加载的方法查询某个类的时候是否采用的延迟称为是类级别的延迟。默认值是true。

Customer customer = session.load(Customer.class,1l);// 默认就会采用延迟加载,这种称为是类级别的延迟。 

类级别延迟加载失效:

* final修饰这个类,不能产生代理类,延迟加载就会失效。

* 在<class>上配置lazy=”false”

2.1.2关联级别的延迟加载

查询到某个对象以后,获得其关联的对象。查询其关联对象的时候是否采用的延迟。称为是关联级别的延迟。

Customer c = session.get(Customer.class,1l);
c.getLinkMans(); // 查询关联对象的时候,是否采用延迟加载。

关联级别的延迟往往会与抓取策略一起使用,优化程序。(关联级别的延迟在<set>或者是<many-to-one>标签上的延迟加载)

2.2抓取策略

抓取策略指的是查找到某个对象后,抓取其关联的对象的时候采用的策略。抓取策略就是在关联对象的配置上(<set>和<many-to-one>)配置fetch属性。

2.2.1 在set上配置的lazy和fetch

fetch:抓取策略,控制SQL语句的发送的格式。

    * select    :默认值。发送一条select语句查询关联对象。

    * join  :发送一条迫切左外连接查询关联对象。

    * subselect :发送一条子查询查询关联对象。

lazy:延迟加载,控制SQL语句的发送的时候。

    * true  :默认值。采用延迟加载。

    * false :不采用延迟加载。

    * extra :及其懒惰。

2.2.2 在many-to-one上配置的lazy和fetch

fetch:抓取策略,控制SQL语句的发送的格式。

    * select    :默认值.发送一条select语句查询关联对象。

    * join  :发送一条迫切左外连接查询关联对象。

lazy:延迟加载,控制SQL的发送的时机。

    * proxy :默认值。是否采用延迟,需要由另一方类上的延迟加载来决定。

    * false :不采用延迟加载。

    * no-proxy:

2.2.3 批量抓取

  批量抓取:查询了多个客户的时候,查询多个客户下的所有联系人。

  在Customer.hbm.xml中<set>上配置batch-size=”n”

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# hibernate多表查询  # hibernate抓取策略  # 浅谈hibernate中多表映射关系配置  # hibernate多表操作实例代码  # 加载  # 默认值  # 就会  # 多个  # 隐式  # 或者是  # 指的是  # 往往会  # 取其  # 就是在  # outer  # left  # Select  # SQL  # linkmans  # Customer  # fetch  # style  # color  # Hibernate 


相关文章: 建站主机核心功能解析:服务器选择与网站搭建流程指南  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何快速查询网址的建站时间与历史轨迹?  长沙企业网站制作哪家好,长沙水业集团官方网站?  活动邀请函制作网站有哪些,活动邀请函文案?  建站之星如何防范黑客攻击与数据泄露?  高防服务器:AI智能防御DDoS攻击与数据安全保障  制作企业网站建设方案,怎样建设一个公司网站?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何选择香港主机高效搭建外贸独立站?  电商平台网站制作流程,电商网站如何制作?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  大同网页,大同瑞慈医院官网?  如何选购建站域名与空间?自助平台全解析  建站主机如何选?高性价比方案全解析  网站按钮制作软件,如何实现网页中按钮的自动点击?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  c# 在高并发场景下,委托和接口调用的性能对比  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站之星如何快速解决建站难题?  建站之星如何优化SEO以实现高效排名?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  建站DNS解析失败?如何正确配置域名服务器?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站之星如何助力企业快速打造五合一网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  建站之星代理费用多少?最新价格详情介绍  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  建站之星安装失败:服务器环境不兼容?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站上市公司网站建设方案与SEO优化服务定制指南  如何打造高效商业网站?建站目的决定转化率  如何在Windows虚拟主机上快速搭建网站?  重庆市网站制作公司,重庆招聘网站哪个好?  如何在IIS中新建站点并解决端口绑定冲突?  如何在新浪SAE免费搭建个人博客?  如何用免费手机建站系统零基础打造专业网站?  如何快速搭建高效WAP手机网站?  制作公司内部网站有哪些,内网如何建网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  建站之星展会模版如何一键下载生成?  如何在景安服务器上快速搭建个人网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  韩国服务器如何优化跨境访问实现高效连接? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。