懒载入(Load On Demand)是一种独特而又强大的数据获取方法,它可以在用户滚动页面的时候自己主动获取很多其它的数据,而新得到的数据不会影响原有数据的显示,同一时候最大程度上降低server端的资源耗用.总结一句话:什么时候须要数据.什么时候载入. 一.懒载入 1.1 类的懒载入 由javassist产生的代理类与Classes类是继承关系. session.load()方法产生的是代理对象,该代理类是持久化类的子类 /** * 类的懒载入 */ @Test public void te…
一.抓取策略. 1.hibernate中提供了三种抓取策略. (1)连接抓取(Join Fetch):这种抓取方式是默认的抓取方式.使用这种抓取方式hibernate会在select中内连接的方式获取对象的关联对象或者关联集合. (2)查询抓取(select Fetch):这种抓取方式会另外发送一条select语句抓取当前对象的关联实体或者集合.除非指定lazy=false,否则只有在真正访问关联关系的时候才会执行第二条select语句. (3)子查询抓取(subselect Fetch):另外…
懒加载测试: /*类的延迟加载 * * session.get * 1.方法加载出来的对象是class对象 * 2.在session.get方法执行的时候发出sql语句 * 3.class对象是有值的 * session.load * 1.方法加载出来的对象是class的代理对象 * 2.在加载其属性的时候发出sql语句(按照需求加载,延迟加载) * 3.获取标识符属性是不用延迟加载的,获取普通属性是需要发出sql语句的 * 标识符属性对于延迟加载不起作用 */ 映射文件: Class.hbm.…
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 jo…
1)找到采集卡: CogFrameGrabber1394DCAMs cameras = new CogFrameGrabber1394DCAMs(); 2)列举相连接的相机: ICogFrameGrabber camera = cameras[0]; 3)选择相机支持的格式: const string VIDEO_FORMAT = "Basler A602fc 656x490 IEEE1394 (mono, 100fps, shutter-hw-triggermode0) CCF";…
目录 1. Hibernate的查询方式 1.1 方式一:OID查询 1.2 方式二:对象导航查询 1.3 方式三:HQL方式 1.4 方式四:QBC查询 1.5 方式五:SQL查询 2. 环境搭建 3. HQL查询 3.1 简单查询 3.2 别名查询 3.3 排序查询 3.4 条件查询 3.4 投影查询 3.5 分页查询 3.6 分组统计查询 3.7 HQL的多表查询 3.7.1 SQL的多表查询 3.7.2 HQL的多表查询 4. QBC查询 4.1 简单查询 4.2 排序查询 4.3 分页…
抓取策略(fetching strategies)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略.抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL或条件查询(CriteriaQuery)中重载声明. 在这里我们还是创建categroy与book的关联关系. 在Hibernate中定义了如下几种抓取策略: ①.连接抓取(Join fatching)- Hibernate通过在select语句中使用outer j…
假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: Session session=HibernateUtil.getSession(); Book book =(Book) session.get(Book.class,2); System.out.println(book.getName()); 当执行完第二行代码,还未执行第三行时,控制台已经打印出了sql语句,执行第三行时打印…
一.Hibernate的抓取策略 1.1 什么是抓取策略 抓取策略是当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略. HIbernate的抓取策略是Hibernate提升性能的一种手段,可以在获取关联对象的时候,对发送的语句进行优化,但是往往抓取策略需要和延迟加载一起使用来提升性能.我们首先来学习一下延迟加载的内容. 1.2 延迟加载的分类 延迟加载(lazy load)是(也称为懒加载)Hibernate关联关系对象默认的加…
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数原型: int createTrackbar(const String& trackbarname, const String& winname, int* value, int count, TrackbarCallback onChange = , ); 第一个参数,const strin…