zoukankan      html  css  js  c++  java
  • 31hibernate_fetch_2_join

    hibernate抓取策略(单端代理的批量抓取)

    设置fetch="join",如:
    <many-to-one name="classes" column="classesid" fetch="join"/>

    fetch="join",hibernate会通过select语句使用外连接来加载其关联实体或集合

    此时lazy会失效
    ===================================================================================
    public void testFetch1() {
            Session session = null;
            try {
                session = HibernateUtils.getSession();
                session.beginTransaction();
                
                Student student = (Student)session.load(Student.class1);
                System.out.println("student.name=" + student.getName());
                System.out.println("classes.name=" + student.getClasses().getName());
                session.getTransaction().commit();
            }catch(Exception e) {
                e.printStackTrace();
                session.getTransaction().rollback();
            }finally {
                HibernateUtils.closeSession(session);
            }
        }    
    测试结果:
    Hibernate: select student0_.id as id1_1_, student0_.name as name1_1_, student0_.classesid as classesid1_1_, classes1_.id as id0_0_, classes1_.name as name0_0_ from t_student student0_ left outer join t_classes classes1_ on student0_.classesid=classes1_.id where student0_.id=?
    student.name=班级0的学生0
    classes.name=班级0
  • 相关阅读:
    下雪诗
    华视身份证阅读器100UC HTTP模式二次开发
    C# Action 和 Func 区别
    网站部署——文件系统
    前端-JavaScript DOM和BOM
    IO多路复用
    python-协程
    python-线程
    python-进程
    计算机与操作系统简介
  • 原文地址:https://www.cnblogs.com/alamps/p/2635689.html
Copyright © 2011-2022 走看看