随笔分类 - Hibernate
摘要:断断续续学习hibernate也有一段时间了,在这里研究一下SSH开发环境的搭建过程,自己简单的搭建一个SSH的开发环境。采用maven搭建。 0.项目结构: 1.导包:(maven项目) pom.xml配置文件 2.配置文件介绍: 1.db.properties和log4j.properties
阅读全文
摘要:1.注解的目的 简化繁琐的ORM映射文件(*.hbm)的配置 2.JPA和hibernate的关系 JPA:java persistence API,JPA注解是JavaEE的标准和规范。 两者的关系可以简单理解为JPA是接口,Hibernate是实现,但是其功能是JPA的超集。 Hibernate
阅读全文
摘要:1.Hibernate的cache介绍: Hibernate实现了良好的Cache机制,可以借助Hibernate内部的Cache迅速提高系统的数据读取性能。Hibernate中的Cache可分为两层:一级Cache和二级Cache。 第一级别的缓存是Session级别的缓存,是属于事务范围的缓存,
阅读全文
摘要:今天在整合SSH的时候,一开始我再测试的时候service层添加了注解事务调用DAO可以正常的保存,在环境中我在XML中采用了spring的OpenSessionInViewFilter解决hibernate的no-session问题(防止页面采用蓝懒加载的对象,此过滤器在访问请求前打开sessio
阅读全文
摘要:研究了常用的Java基本数据类型在mysql和oracle数据库的映射类型。这里使用的是包装类型做研究,一般在hibernate声明的时候最好不要用基本类型,因为数据库中的null空数据有可能映射为基本类型的时候会报错,但是映射到包装类型的时候值为null,不会报错。 1.常见数据类型在Mysql数
阅读全文
摘要:所谓懒加载(lazy)就是延时加载,就是当在真正需要数据的时候,才真正执行数据加载操作 至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适,因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,我们让数据在需要的时候才进行加载,这时我们就用到了懒加载。 1.类级别的懒加载(
阅读全文
摘要:1.查询总结 在之前的批量查询练习的时候练习基本五种查询方法的使用: 1.OID查询 根据对象ID进行查询 2.对象属性导航查询: obj.getXXX 3.HQL查询:Query对象查询 4.QBC(QueryByCriteria):Criteria对象查询 5.原生SQL查询:SQLQuery查
阅读全文
摘要:在我们实际项目中,多对多的情况也时长存在,比如最常见的就是系统管理的五张表,如下面的一个结构: 在本文学习hibernate多对多关联映射的实验中我简单的写几个字段,达到学习目的即可。 1.多对多的关系表达 1.关系型数据库(RDB)中的表达: 2.Java实体中的表达 3.orm配置文件中的表达:
阅读全文
摘要:一对一的关联就不写了,一般项目也用不到,如果可以一对一就直接合成一个表了,也不会出现一对一的关系。 本文主要研究一对多的关系。 1.一对多的关系研究: (1)RDB中关系表达: 多的一方创建外键指向一的一方的主键 (2)Java实体中的表达: 在一的一方创建Set集合维护多的一方,在多的一方创建单个
阅读全文
摘要:Hibernate的查询大致分为以下三种场景, 1. HQL查询-hibernate Query Language(多表查询,但不复杂时使用) 2. Criteria查询(单表条件查询) 3. 原生SQL查询(复杂的业务查询) 接下来解释三种使用方法: 1.HQL查询-hibernate Query
阅读全文
摘要:1.事务特性 (ACID) 2.事务的并发问题: 3.事务的隔离级别: 4.hibernate中设置事务的隔离级别: 5.项目中管理事务: (1)业务开始之前打开事务,业务执行之后提交事务. 执行过程中出现异常.回滚事务. (2)在dao层操作数据库需要用到session对象.在service控制事
阅读全文
摘要:对象分为三种状态:瞬时状态、持久化状态、游离状态.其实我们调用session.save或者session.update或者session.saveOrUpdate只是为了将对象的状态改变为持久态(将对象存入session一级缓存)。一级缓存 中的对象就是和session关联,session中有一级缓
阅读全文
摘要:一、 hibernate的实体类有一定的规则,类似于mybatis的逆向工程导出的实体类。具体的规则以及原因如下: 1.持久化类需要提供无参的构造方法。 因为hibernate底层采用反射机制创建对象,采用class.newInstance()创建对象,此方法默认调用无参构造方法创建对象。如果我们只
阅读全文
摘要:1.前言 hibernate与mybatis的位置一样,都是属于DAO层的框架,代替我们原来的JDBC操作数据库,属于ORM(object relationg mapping. 对象关系映射)框架。ORM分为四级,hibernate属于4级:完全面向对象操作数据库,mybatis属于2级,半自动化的
阅读全文