Query Criteria SQLQuery Query接口:用于接收HQL,用于查询多个对象 HQL:Hibernate Query Language  Query条件查询: Query分页查询: Criteria:QBC (Query By Criteria) 更加面向对象的一种查询方式 SQLQuery:接收SQL语句,特别复杂情况下使用…
Query对象 我们使用Query对象不需要编写SQL语句,但是得写HQL语句. HQL:Hibernate Query Language:Hibernate提供的查询语言,和SQL语句很相似. HQL和SQL的区别: 使用SQL操作的是表和表字段: 使用HQL操作的是实体类和实体类的属性: 查询所有记录的HQL:from 实体类名称 Query对象的使用: 步骤一:创建Query对象: 步骤二:调用Query对象里面的方法得到结果: 代码演示: @Test //使用Query对象 public…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
ORM概念 在学习 Hibernate 之前,我们先来了解ORM   对象关系映射 O, Object  对象 R,Realtion 关系  (关系型数据库: MySQL, Oracle…) M,Mapping  映射 ORM, 解决什么问题? 存储:   能否把对象的数据直接保存到数据库? 获取:   能否直接从数据库拿到一个对象? 想做到上面2点,必须要有映射!   总结:          Hibernate与ORM的关系?             Hibernate是ORM的实现,简化对…
1. Hibernate Api分类 1)提供访问数据库的操作(如保存,更新,删除,查询)的接口.这些接口包括:Session, Transaction,,Query接口. 2)由于配置Hibernate的接口:Configuration. 3)使应用程序拦截Hibernate内部发生事件的接口,并作出相应的回应.这些接口包括:Interceptor, LoadEventListener,SaveEventListener. 4)用于扩展Hiberante功能的接口. Hibernate内部封装…
在JPA 2.0中我们可以使用entityManager.createNativeQuery()来执行原生的SQL语句.但当我们查询结果没有对应实体类时,需使用entityManager.createNativeQuery(String sqlString)来执行查询时,query.getResultList()返回的是一个List<Object[]>.也就是说每行的数据被作为一个对象数组返回. 常见的用法是这样的: public void testNativeQuery(){       Q…
在Hibernate API中,Session和Transaction接口提供了以下声明事务边界的方法: 声明事务的开始边界: Transaction tx = session.beginTransaction(); 以上方法完成两个任务: 1,为Session对象分配数据库连接,并且自动把这个连接设为手工提交事务模式.Hibernate的底层实现会自动调用代表数据库连接的java.sql.Connection对象的setAutoCommit(false)方法. 2,开始一个新的事务.Sessi…
对象的状态 瞬时状态: 瞬时对象(TO) 应用程序创建出来的对象,不受H3控制 注意:TO对象不具有OID,一旦为TO赋值OID,那么此时就不是TO 持久化状态:持久化对象(PO) 受H3控制的对象,PO一定具有OID 托管状态: 托管对象(DO) 曾经受到H3控制,当前不受H3控制(Session关闭),一定具有OID 给TO赋值OID TO,PO,DO的区别 1.受控(Session) 2.OID对象状态对应的时机 TO new创建的对象并且不携带OID PO save后的对象 update…
1:Configuration :配置管理类对象 1.1:config.configure(): 加载主配置文件的方法(hibernate.cfg.xml) ,默认加载src/hibernate.cfg.xml 1.2:config.configure(“cn/config/hibernate.cfg.xml”); 加载指定路径下指定名称的主配置文件 1.3:config.buildSessionFactory();  创建session的工厂对象 2: SessionFactory :sess…
用到的注解: @Test:测试方法 @Before:初始化方法. @After:是否资源. 先执行Befere,然后执行Test,最后执行After. 第一步:新建一个Junit目录. 第二步:取名 该目录下新建一个类: 代码如下: import org.junit.After; import org.junit.Before; import org.junit.Test; //测试类 public class StudentsTest { @Before public void init()…