hibernate
文章平均质量分 72
Java_Soldier
384930333@qq.com
展开
-
我的见解之hibernate(十三)
HQL检索方式HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能:在查询语句中设定各种查询条件支持投影查询, 即仅检索出对象的部分属性支持分页查询支持连接查询支持分组查询, 允许使用 HAVING 和 GROUP原创 2016-08-24 16:14:20 · 7599 阅读 · 0 评论 -
我的见解之hibernate(二)
下面补全对上篇文章第四步的几个变量解析 SessionFactory sessionFactory = null; Configuration configuration = new Configuration().configure(); ServiceRegistry serviceRegistry = new S原创 2016-08-23 23:07:06 · 3002 阅读 · 0 评论 -
我的见解之hibernate(三)
通过Session操纵对象Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法.Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步更新数据库, 这一过程被称原创 2016-08-23 23:43:22 · 2949 阅读 · 0 评论 -
我的见解之hibernate(四)
站在持久化的角度, Hibernate 把对象分为 4 种状态: 持久化状态, 临时状态, 游离状态, 删除状态. Session 的特定方法能使对象从一个状态转换到另一个状态.临时对象(Transient): 就是我们new的就是临时状态,他还没有OID在使用代理主键的情况下, OID 通常为 null不处于 Session 的缓存中在数据库中没有对应的记录原创 2016-08-24 00:04:20 · 7552 阅读 · 0 评论 -
我的见解之hibernate(五)
Session的方法save():使一个临时对象转变为持久化对象,先放入session缓存中,在flush的时候执行一条insert语句,插入数据库。如果在指定了OID的生成方式时,new出对象并尝试给id赋值,也没用,数据库本地依旧采用给定的方式生成主键 News news = new News("JAVA","guo",new Date()); news.setId(50000);原创 2016-08-24 10:42:22 · 7583 阅读 · 0 评论 -
我的见解之hibernate(六)
通过 Hibernate 调用存储过程Work 接口: 直接通过 JDBC API 来访问数据库的操作Session 的 doWork(Work) 方法用于执行 Work 对象指定的操作, 即调用 Work 对象的 execute() 方法. Session 会把当前使用的数据库连接传递给 execute() 方法.原创 2016-08-24 12:15:07 · 7516 阅读 · 0 评论 -
我的见解之hibernate(七)
hibernate.cfg.xml的一些配置 10 5 2 2000 2000 10 100 30 hibernate.jdbc原创 2016-08-24 12:36:06 · 7704 阅读 · 0 评论 -
我的见解之hibernate(九)
Hibernate 把持久化类的属性分为两种: 值(value)类型: 没有 OID, 不能被单独持久化, 生命周期依赖于所属的持久化类的对象的生命周期实体(entity)类型: 有 OID, 可以被单独持久化, 有独立的生命周期显然无法直接用 property 映射 pay 属性Hibernate 使用 元素来映射组成关系, 该元素表名 pay 属性是 Worker 类一个原创 2016-08-24 13:23:53 · 7449 阅读 · 0 评论 -
我的见解之hibernate(八)
内容:详解*.hbm.xml关系映射配置文件hibernate-mapping 类层次:class 主键:id 基本类型:property 实体引用类: many-to-one | one-to-one 集合:set | list | map | array one-to-many many-to-many 子原创 2016-08-24 12:40:55 · 7665 阅读 · 0 评论 -
我的见解之hibernate(十)
映射双向n-1关系:举个简单的例子,顾客和订单的关系,一个顾客可以拥有多个订单,而多个订单可以同时属于一个顾客,这就是双向n-1关系,在Customer一端,需要持有装载着Order集合的引用/* * 1. 声明集合类型时, 需使用接口类型, 因为 hibernate 在获取 * 集合类型时, 返回的是 Hibernate 内置的集合类型, 而不是 JavaSE 一个标准的原创 2016-08-24 13:31:21 · 7403 阅读 · 0 评论 -
我的见解之hibernate(十一)
映射具有继承关系的两个表:person和student可以看出,student继承自person,在映射文件中我们有三种表现形式①.父子同表,但是要添加辨别者列原创 2016-08-24 15:36:41 · 7346 阅读 · 0 评论 -
我的见解之hibernate(十二)
hibernate的检索策略检索数据时的 2 个问题:不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存.更高的查询效率:发送尽可能少的 SQL 语句类级别的检索策略类级别可选的检索策略包括立即检索原创 2016-08-24 16:01:37 · 7205 阅读 · 0 评论 -
hibernate基本介绍及基本配置(一)
hibernate是一个orm框架,orm:对象关系映射。其实,一个项目追溯到最底层的内容,无非就是完成和数据库的交互,这时候,jdbc技术出现了,他更是一种规范,但是,我们完成最基本的增删改查操作都会浪费我们很多时间,我们本应该将更多的精力放在业务逻辑上,hibernate就是包装了jdbc的一个持久化orm框架,我们通过它,可以更简单的完成和数据库的交互。上面提到了两个地方,一:持久化,何原创 2016-08-23 22:18:31 · 967 阅读 · 0 评论