大话Hibernate
文章平均质量分 79
Hibernate是轻量级Java EE应用的“持久化”解决方案,它不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度缩短使用jdbc处理数据持久化的时间。这个专栏是本人在学习过程中做的总结,希望能不能帮到需要的人。
May的博客
这个作者很懒,什么都没留下…
展开
-
【大话Hibernate】hibernate事务管理
事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰。 数据库向用户提供保存当前程序状态的方法,叫事务提交(commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫事务回滚(rollback)。1、事务的特性事务具备原子性(Atomicity)、一致性(Consistenc原创 2016-08-29 12:27:11 · 2039 阅读 · 0 评论 -
【大话hibernate】hibernate系统学习大合集
转载请注明出处:http://blog.csdn.net/column/details/hibernatebylmb.html为了方便各位网友学习以及方便自己复习之用,将Jhibernate系统学习的系列内容按照由浅入深的学习顺序总结如下,点击相应的标题即可跳转到对应的文章。Hibernate的jar包的用途Hibernate基本原理及概念详解JDBC操作与hibernate的区别Hibernate原创 2016-08-01 20:33:21 · 1727 阅读 · 0 评论 -
【Hibernate】Hibernate查询语言HQL详解
常用的HQL语句HQL: Hibernate Query Language.特点: 1,与SQL相似,SQL中的语法基本上都可以直接使用。 2,SQL查询的是表和表中的列;HQL查询的是对象与对象中的属性。 3,HQL的关键字不区分大小写,类名与属性名是区分大小写的。 4,SELECT可以省略. 1,简单的查询Employee为实体名而不是数据库中的表...原创 2015-06-20 14:10:03 · 1524 阅读 · 0 评论 -
【Hibernate】Hibernate基本原理及概念详解
hibernate是一种ORM框架(全称为Object-Relative Database-Mapping,在java对象与数据库之间建立某种映射,以实现直接存取java对象(一般为POJO)),与各种数据库,SQL语句打交道,是数据持久化的一种解决方案。ORM框架是不同于MVC的另一种思想框架,适用范围也与MVC截然不同。类似功能的框架还有SUN的JDO、Oracle公司的TopL...原创 2015-06-17 18:44:22 · 5554 阅读 · 0 评论 -
【Hibernate】Hibernate的jar包的用途
Hibernate的jar包的用途:net.sf.hibernate.* 该包的类基本上都是接口类和异常类net.sf.hibernate.cache.* JCS的实现类net.sf.hibernate.cfg.* 配置文件读取类net.sf.hibernate.collection.* Hibernate集合接口实现类,例如List,Set,Bag等等,Hiber...原创 2015-06-17 23:05:38 · 1417 阅读 · 0 评论 -
【大话Hibernate】Hibernate两种实体关系映射详解
实体类与数据库之间存在某种映射关系,Hibernate依据这种映射关系完成数据的存取,因此映射关系的配置在Hibernate中是最关键的。Hibernate支持xml配置文件与@注解配置两种方式。xml配置文件是最基础的配置,而@注解是Java的官方JPA(Java Persistence API)提供的。本章分别使用@注解与xml讲解Hibernate的映射配置。一、实体类映射: 从Java的...原创 2015-06-18 11:05:20 · 4812 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射实例解析
//刘梦冰发表于2015-6-181、使用XML配置 Cat.java(实体类) public classCat { private Integerid; private Stringname; private Stringdescription; public Integer getId() { returnid; } ...原创 2015-06-18 11:14:02 · 1451 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射——单边的多对一关系
单边的多对一关系 单边的多对一关系与单边的一对多关系刚好相反,多方有一方的引用,一方没有多方的引用,但是他们的数据表间的关系是一样的。例如:论文与论文类别;具体实现如下: Type实体类的java注解配置比较简单。由于没有Article引用,Type就是最普通的POJO实体,主键为id属性,只有一个String类型的普通属性name。注意:name被配置为unique的,利用数据库提供的...原创 2015-06-18 22:58:43 · 1472 阅读 · 0 评论 -
【HibernateHibernate实体关系映射——双边的多对一、一对多关系
双边的多对一、一对多关系 双边关系是最常见的配置。在多方有一方的引用,一方也有多方的引用。双边关系能够很方便的查询数据。下面以一个班级与学生的双边关系来深入学习。 班级(clazz类)与学生(student类)为一对多关系。班级中有学生属性,学生中有班级属性,二者是双边的关系。 具体代码如下: Clazz类中有一个id主键和一个name属性,另外还有一个List<Stu...原创 2015-06-18 23:15:54 · 3051 阅读 · 0 评论 -
【Hibernate】hibernate实体关系映射——单边的多对多关系
//刘梦冰发表于2015-6-19单边的多对多关系多对一、一对多的关系只需要两个表即可,使用子表的外键与主表的主键连接就能存储主从关系。而对多对多的关系至少需要三个表,其中两个表保存两个实体类,另一个表保存关系。下面以一个论坛文章管理为例来深入学习:现在论坛的每个帖子都挺有相关的标签,一个帖子可以属于多个标签,因此它们之间是多对多的关系。本例就使用多对多来处理标签与帖子之间的业务逻...原创 2015-06-19 22:09:53 · 1612 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射——双边的多对多关系
//刘梦冰发表于2015-6-19http://blog.csdn.net/lmb55/article/details/46565581讲述了单边的多对多关系,本文在该例的基础上近一步学习双边的多对多关系。单边的多对多关系中:标签类Tag中没有Post属性,但是帖子类Post中有Tag属性,它们之间是单边的多对多的关系。Tag、Post都是多方,它们的多对多关系保存在第三个表(中间表t...原创 2015-06-19 22:22:14 · 1363 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射——单边的一对一关系
//刘梦冰发表于2015-6-19一对对一关系的情况要多一些,不仅在POJO层体现为一对一的,还要保证数据库中的关系是一对一的,不允许出现一个表的两行记录共用另一个表中同一行记录的情况。这可以通过设置外键(关联的关系列)的唯一性约束(unique约束)来实现,也可以通过id(主键)的唯一性实现。一对一的关系可以看作是一对多关系的特例。如果一对多关系的多方只有一个实体对象,那么这个关系就可看...原创 2015-06-19 23:12:35 · 2382 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射——双边的一对一关系
凡是配置实体间关系的标签,例如:@ManyToOne、@OneToMany、@ManyToMany、@OneToOne等,都可以配置mappedBy属性。mappedBy表示该属性是反向属性,与另一边实体类(一般可以用泛型表示)的mappedBy制定的属性是对应的。http://blog.csdn.net/lmb55/article/details/46566641中以舰船管理为例学习了单边的...原创 2015-06-19 23:33:25 · 1364 阅读 · 0 评论 -
【Hibernate】Hibernate实体关系映射——主键相同的一对一关系
主键相同的一对一关系由于两个实体类是一对一的关系,因此可设置两个实体类使用相同的主键。反过来,具有相同主键的实体被视为一对一的关系。这样两个表就省掉了外键关联。以客户地址管理为例学习主键相同的一对一关系:一个客户对应一个地址,对应的实体之间使用相同的主键。客户与地址之间是一对一的关系,并且两个实体的id是相同的。双方都有对方的引用。注意,两个数据库表之间没有关联关系,hibernate...原创 2015-06-20 00:31:45 · 2519 阅读 · 0 评论 -
【Hibernate】hibernate主键生成策略与配置详解
//#######################################################**Hibernate各种主键生成策略与配置详解**//#######################################################1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负...原创 2015-11-01 22:11:37 · 923 阅读 · 0 评论 -
【Hibernate】JDBC操作与hibernate的区别
JDBC: 1)、表——JavaBean——操作(间接操作数据库) JavaBean属性名对应数据库字段名,操作JavaBean中属性名达到操作数据库表的效果;2)、表—————————操作(直接操作数据库) 直接操作数据库字段名从而达到直接操作数据库的效果;Hibernate: 表——POJO类——操作(间接操作数据库)POJO类加入关联数据库表的映射;通过操作POJO类来达...原创 2015-11-01 22:36:34 · 1037 阅读 · 0 评论 -
【Hibernate】Hibernate中查询表名、字段名以及字段类型等信息
Hibernate中查询表名、字段名以及字段类型等信息的工具类package com.lmb.ui.util;import org.hibernate.cfg.Configuration;import org.hibernate.mapping.Column;import org.hibernate.mapping.PersistentClass;import org.hiber...原创 2016-04-27 21:20:02 · 4750 阅读 · 4 评论 -
【Hibernate】getHibernateTemplate与getSession的区别以及优缺点
getHibernateTemplate与getSession有什么区别以及优缺点getHibernateTemplate已经封装好了一些基本的方法,可以直接去用,也就是template;而getSession只是获取一个数据工厂的session,然后大部分方法都需要自己写,加hql语句,然后用query方法执行。谈不上什么优点缺点,类似添加删除更新这样的操作可以直接用getHibernate...原创 2016-07-19 08:38:05 · 4803 阅读 · 1 评论 -
【Hibernate】HibernateCallback总结
HibernateCallback总结HibernateTemplate提供了非常多的常用方法来 完成数据库的基本操作,使得持久层访问模板化 。只要创建HibernateTemplate实例后,注入一 个SessionFactory的引用就可以了,而无需手动 创建sessionFactory,从而可以更加智能的管理 Hibernate的Session,避免了对于try/catch的 大量使用。...原创 2016-07-19 08:40:35 · 2243 阅读 · 1 评论 -
【Hibernate】getHibernateTemplate.find()和session.createQuery()方法总结
Spring中常用的hql查询方法(getHibernateTemplate().find())一、find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二、find(String queryString , Object value); 示...原创 2016-07-20 06:29:29 · 14496 阅读 · 5 评论 -
【大话Hibernate】Hibernate的核心接口和类
Hibernate的核心类和接口一共有6个,分别为:Session、SessionFactory、 Transaction、Query、Criteria和Configuration。这6个核心和类接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口和类分别加以介绍。ConfigurationConfiguration类的作用是对...原创 2016-07-21 19:41:11 · 4376 阅读 · 8 评论 -
【大话Hibernate】hibernate缓存详解
为什么要用hibernate缓存?hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的次数,从而提高应用程序的运行性能,我们想到使用hibernate缓存机制。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。hibernate缓存的原理缓存的主要作用是查询。hiber...原创 2016-07-22 00:40:28 · 3705 阅读 · 6 评论