
Hibernate
文章平均质量分 85
Jintao_Ma
这个作者很懒,什么都没留下…
展开
-
spring4 hibernate4(5) 整合
纸上得来终觉浅1.前面学了Spring具有两个重要特性,IOC和AOP,利用这些特性可以优化代码框架; 既然如此,那么在使用Hibernate时,就可以利用Spring框架对hibernate的框架进行优化。这就是Spring hibernate整合。2.Spring可以优化Hibernate的哪些部分?1)在未使用hibernate之前,session的获取一般通过单例模式从sess原创 2016-04-25 16:38:26 · 3162 阅读 · 1 评论 -
Hibernate HQL以及相关方法
1.首先Hibernate的有以下几种检索方式:1)导航对象图检索方式:根据已经加载的对象导航到其他对象,比如前面文章讲到的关联方式,A对B,A可以加载B,那么只要获取A对象,就可以获取到B对象;2)OID检索方式,按照对象的OID来检索对象,比如get和load方法;3)HQL检索 (Hibernate query language),一种面向对象的查询,查询的结果面向对象。4原创 2016-04-24 16:35:14 · 843 阅读 · 1 评论 -
Hibernate 双向多对多&拆分成两个一对多
纸上得来终觉浅1.双向多对多:B(Teacher)有多个A(Student),A也有多个B注意要在一方加上inverse属性,否则一起维护关联关系可能会造成主键冲突:package roadArchitectWeb;import java.util.HashSet;import java.util.Set;public class Teacher { private Int原创 2016-04-22 22:20:10 · 4719 阅读 · 1 评论 -
Hibernate 双向一对一&双向一对多
纸上得来终觉浅1.双向一对多双向一对多与双向多对一是相同的。 这中情况下B有多个A,B能够加载A,A也能够加载B:package roadArchitectWeb;import java.util.HashSet;import java.util.Set;public class Teacher { private Integer Id; private String原创 2016-04-22 11:16:20 · 1636 阅读 · 1 评论 -
Hibernate 单向多对一&单向一对多&单向多对多
上篇是单向一对一,这篇是单向的其他方式; 顺便说一下 ”单向A对B“,指的就是A的那一方能够加载到B;1.多对一就是多的那一方(A)能够加载另一方:只需要在上篇文章中的单向外键一对一加载中去掉 uniqe属性即可:这个时候teacherId这列的值是可以重复的2.一对多例如B(Teacher)拥有很多A(学生):A正常,只在B中增加A属性原创 2016-04-22 09:29:29 · 1094 阅读 · 0 评论 -
Hibernate 单向一对一关联
纸上得来终觉浅开始学习Hibernate的关联关系。一共有七种关联关系,可以分为单向和双向,单向只是A能够加载B,单B不能够加载A,双向可互相加载,详细如下:1)单向 一对一2)单向多对一3)单向一对多4)单向多对多5)双向一对一6)双向一对多7)双向多对多这里讲的是单向一对一关联:单向一对一关联有两种情况,一个是一对一主键关联,一个是一对一外键关联(使用的较多原创 2016-04-21 21:21:15 · 694 阅读 · 0 评论 -
Session核心方法
纸上得来终觉浅下面根据上篇文章“Hibernate基本示例”的代码进行演示:1.Session一级缓存1) session缓存的概念,数据库中的数据在被拿到session中时,是以java集合的形式保存,这些java集合就构成了session缓存; 之所以有缓存是为了减少访问数据库的频率; User user2 = (User)session.get(User.class, 1L原创 2016-04-20 17:56:32 · 999 阅读 · 0 评论 -
Hibernate的四种状态
纸上得来终觉浅开始学习Hibernate对象的四种状态,花了一上午的时间来思考:1.为什么要对Hibernate的对象分为几种状态:状态是对对象所处所处情境的描述,在对hibernate定义了几种状态之后即方便了为人所达成共识,同时也能更好的理解hibernate的工作机制。2.如何区分Hibernate的几种状态:开始的时候我根据下面两个是否进行判断:1)对象是否在Ses原创 2016-04-20 15:56:43 · 8535 阅读 · 0 评论 -
Hibernate使用mysql时type=InnoDB报错
第一次运行程序时,将Hibernte中的hibernate.hbm2ddl.auto设置成create,让Hibernate帮助自动建表,但不成功,报了如下信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right sy转载 2016-04-20 11:33:01 · 4245 阅读 · 1 评论 -
Hibernate基本示例
Hibernate是一个ORM框架,ORM(即Object/Relation Mapping),它是一个处理对象和关系的映射的框架;再看持久化,狭义概念即把数据长久的保存到数据库,广义上是指与数据有关的所有操作,增删改查。下面是Hibernate环境搭建的基本实例:1.给Eclipse安装Hibernate插件,然后下载Hibernate-Framework,相关的Jar包,程序如下:pa原创 2016-04-20 11:22:01 · 668 阅读 · 0 评论 -
Spring声明式事务
纸上得来终觉浅1.事务的概念简单来说就是一个原子操作,要么操作中的几个动作全部执行,要么全部不执行。2.ACID(原子性,一致性,隔离性和持久性)是事务应该满足的条件,但是一般来说隔离性才是程序员应该做的,因为隔离性其实就是对并发的控制,而经常提及的数据的脏读,幻读等都是并发引起的。 3.事务在代码中使用; 接着上篇文章配置好的Spring+Hibernate的环境: @Autow原创 2016-04-25 17:24:53 · 1220 阅读 · 1 评论