Hibernate 加载策略得总结】的更多相关文章

Hibernate 加载策略得总结 加载策略(优化查询): 策略种类: 延迟加载: 等到使用的时候才会加载数据. 立即加载: 不管使用不使用,都会立刻将数据加载. 策略的应用: 类级别的加载策略. 关联级别的加载策略 ---------------------------------------------------------------------- 类级别加载策略: 1. get/load get: 立即查询数据库,将数据初始化 load:  hbm文件中,class元素的lazy属性绝…
Hibernate获取数据方式 lHibernate提供了多种方式获取数据 •load方法获取数据 •get方法获取数据 •Query/ Criteria对象获取数据 lHibernate获取的数据分为两类 •直接获取的数据(类级数据/直接数据) •使用load/get方法根据OID获取数据 •使用HQL语句获取到的数据 •使用Criteria对象获取到的数据 •使用关联关系获取主方数据时自动获取的从方数据(关联数据) •在一对一关系中,获取一方数据后所携带的从方数据 •在一对多关系中,获取一方…
1.加载策略:指hibernate查询数据时,采用什么样的方式将数据写入内存.Hibernate中提供了两种方式来加载数据:懒加载和即时加载. 2.懒加载又称延迟加载,指使用hiberante API查询数据时,不会立即将数据写入内存.而是等到真正使用数据时才会发出sql语句,到数据中查询数据. 3.即时加载:指使用hibernate API查询数据时,会立即发出sql语句,查询数据.并将数据写入内存. 4.get方法是采用的即时加载,如果数据不存在,返回 null ,:load方法采用的懒加载…
QBC查询 1.简单查询 Criteria c = s.createCriteria(TeacherModel.class); 2.获取查询结果 多条:list 单挑:uniqueResult 3.分页查询 setFirstResult(int) setMaxResults(int) 4.查询排序 添加排序 c.addOrder(Order); 排序规则 Order od = Order.asc("字段名") Order od = Order.desc("字段名")…
原文出自:http://cmsblogs.com 在学 Java SE 的时候我们学习了一个标准类 java.net.URL,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位.然而,实际上资源的定义比较广泛,除了网络形式的资源,还有以二进制形式存在的.以文件形式存在的.以字节流形式存在的等等.而且它可以存在于任何场所,比如网络.文件系统.应用程序中.所以 java.net.URL 的…
Spring中的resource 我们先看看类之间的关系 注意我们的application是间接继承了resourceloader的,也就是说我们的application其实就是一个resourceloader 我们再看看这个类的继承,发现了,classpathxml这个对象实际上也是从最开始的resourceloader来的 那么我们加载application资源的时候,可以有2种方式: ResourceLoader resourceLoader = new ClassPathXmlAppli…
做了好几个月的ios,大框架都是别人搭好的,自己只是实现逻辑,很是失落.慢慢开始整理学习一些概念类的东西吧,希望自己能提高点. cocos2d-x从cocos2d-2.0-x-2.0.2开始,考虑到自己是跨平台的引擎,并且Android有许多不同的分辨率,所以不再使用利用对图片加后缀hd ipad ipadhd 进行加载的策略. 本质上来说,资源的加载策略,就是为了应对不同平台的不同分辨率的. 新的加载策略如下: 从CCFileUtils的setResourceDirectory设置的目录中去寻…
1. 延迟策略 在需要用到数据时在加载相关数据,常用于一对多关系, 优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能, 缺点:当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降 局部延迟,优先级最高, 在association和collection标签中都有一个fetchType属性,设置为lazy 即懒加载,设置为eager即立即加载 <collection property="orde…
假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: Session session=HibernateUtil.getSession(); Book book =(Book) session.get(Book.class,2); System.out.println(book.getName()); 当执行完第二行代码,还未执行第三行时,控制台已经打印出了sql语句,执行第三行时打印…
1. 检索方式 1  立即检索:立即查询,在执行查询语句时,立即查询所有的数据. 2 延迟检索:延迟查询,在执行查询语句之后,在需要时在查询.(懒加载) 2.  检查策略 1  类级别检索:当前的类的属性获取是否需要延迟. 2  关联级别的检索:当前类 关联 另一个类是否需要延迟. 3.类级别检索 1  get:立即检索.get方法一执行,立即查询所有字段的数据. 2 load:延迟检索.默认情况,load方法执行后,如果只使用OID的值不进行查询,如果要使用其他属性值将查询 . Custome…