摘要: 第17章Native SQL查询你也可以使用你的数据库的Native SQL语言来查询数据。这对你在要使用数据库的某些特性的时候(比如说在查询提示或者Oracle中的 CONNECT关键字),这是非常有用的。这就能够扫清你把原来直接使用SQL/JDBC 的程序迁移到基于 Hibernate应用的道路上的障碍。Hibernate3允许你使用手写的sql来完成所有的create,update,delete,和load操作(包括存储过程)17.1.创建一个基于SQL的QuerySQL查询是通过SQLQuery接口来控制的,它是通过调用Session.createSQLQuery()方法来获得List 阅读全文
posted @ 2011-08-23 22:18 天不行道我来之 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 第16章 条件查询(Criteria Queries)具有一个直观的、可扩展的条件查询API是Hibernate的特色。16.1.创建一个Criteria 实例org.hibernate.Criteria接口表示特定持久类的一个查询。Session是 Criteria实例的工厂。Criteria crit = sess.createCriteria(Cat.class);crit.setMaxResults(50);List cats = crit.list();16.2.限制结果集内容一个单独的查询条件是org.hibernate.criterion.Criterion 接口的一个实例。or 阅读全文
posted @ 2011-08-23 22:17 天不行道我来之 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 第15章HQL: Hibernate查询语言Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。15.1.大小写敏感性问题除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。本手册中的HQL关键字将使用小写字母. 阅读全文
posted @ 2011-08-23 22:16 天不行道我来之 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 第14章批量处理(Batch processing)使用Hibernate将 100 000 条记录插入到数据库的一个很自然的做法可能是这样的Session session = sessionFactory.openSession();Transaction tx = session.beginTransaction();for ( int i=0; i<100000; i++ ) { Customer customer = new Customer(.....); session.save(customer);}tx.commit();session.close();这段程序大概... 阅读全文
posted @ 2011-08-23 22:16 天不行道我来之 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 第13章 拦截器与事件(Interceptors and events)应用程序能够响应Hibernate内部产生的特定事件是非常有用的。这样就允许实现某些通用的功能 以及允许对Hibernate功能进行扩展。13.1. 拦截器(Interceptors)Interceptor接口提供了从会话(session)回调(callback)应用程序(application)的机制, 这种回调机制可以允许应用程序在持久化对象被保存、更新、删除或是加载之前,检查并(或)修改其 属性。一个可能的用途,就是用来跟踪审核(auditing)信息。例如:下面的这个拦截器,会在一个实现了 Auditable接口的 阅读全文
posted @ 2011-08-23 22:15 天不行道我来之 阅读(130) 评论(0) 推荐(0) 编辑