zoukankan      html  css  js  c++  java
  • JPA级联查询----导航查询

     导航查询 

        查询一个对象时的同时,通过此对象查询它的关联对象

       案例 客户和联系人 

    
    
            //从客户对象到联系人导航查询他所属的客户
    //默认使用延迟加载
        @Test
        @Transactional //解决代码中no Session
        public void testQuery(){
           Customer customer=customerDao.getOne(1L);
    
            Set<LinkMan> linkMans=customer.getLinkMans();
            for (LinkMan linkMan : linkMans) {
                System.out.println(linkMan);
            }

     存在问题  导航查询时 默认使用延迟加载的形式查询,调用get方法时不会立即发送查询,而是在使用关联对象的时候才会查询----延迟加载

      解决办法  修改配置,将延迟加载改为立即加载   

      

     上面是一对多的形式 

     接下来 多对一的形式

     //从联系人对象导航查询他所属的客户
        //默认使用立即加载
        @Test
        @Transactional //解决代码中no Session
        public void testQuery02(){
            LinkMan linkMan=linkManDao.findOne(1l);
    
            Customer customer=linkMan.getCustomer();
    
            System.out.println(customer);
        }

    修改加载方式  

    总结 

      从一方查询多方

         默认 延迟加载(一般都是)

    从多方查询一方

      默认 立即加载

      一到多  意味着 多方可能有很多数据,如果立即加载又用不上 浪费 大概是这个意思

  • 相关阅读:
    js数组
    ECharts测试
    java代码测试---插入排序和选择排序
    C++语言基础——01一切的开始
    咸鱼君的算法学习笔记——快速排序
    6-4英语句子
    《浪潮之巅》二十二、二十三章笔记
    《浪潮之巅》第二十一章笔记
    《浪潮之巅》二十章笔记
    《浪潮之巅》十八十九章笔记
  • 原文地址:https://www.cnblogs.com/yangbom/p/14033250.html
Copyright © 2011-2022 走看看