
hibernate
文章平均质量分 83
御前两把刀刀
一个善于总结的,一个喜欢书法的全栈程序员
展开
-
hibernate系列四:HQL查询(一)
一 简介 Hibernate支持三种查询方式:HQL (Hibernate Query Language,Hibernate查询语言)查询、Critcria查询及原生SQL( Native SQL)查询。HQL是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念,大家在学习中要注意。 HQL语句功能强大,能满足实际开发中的各种原创 2017-11-28 22:46:18 · 486 阅读 · 0 评论 -
hibernate系列三:hibernate工具类及使用
在项目开发过程中,通常使用工具类来管理SessionFactory和Session,代码如下所示。package com.obtk.utils;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hiber原创 2017-11-28 11:00:29 · 581 阅读 · 0 评论 -
hibernate系列二:hibernate中java对象的三种状态及数据更新的4种方式
一. hibernate中java对象的三种状态1.1 Java对象的三种状态介绍 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期。持久化生命周期是Hibernate中的一个关键概念,正确地理解生命周期,可以更好地了解Hiberate的实现原理,掌握Hibernte的正确用法。Hibernate框架通过Session来管理Java原创 2017-11-28 10:33:52 · 1919 阅读 · 0 评论 -
hibernate系列十八:注解
一 简介Hibernate提供了Hibernate Annotations扩展包,它可以替换复杂的hbm.xml文件,使得Hibernate程序的开发大大简化。即利用注解后,可不用定义持久化类对应的*.hbm.xml文件,而直接以注解方式写入持久化类的实现中。 使用Hibernate注解,首先需要在Hibcrnate官方网站获取Annotation扩展包。使用Hibernate3.3原创 2017-12-02 17:28:04 · 746 阅读 · 0 评论 -
hibernate系列十七:Criteria查询
Criteria查询是Hibernate提供的另一种查询方式,与HQL基于字符串的查询形式完全不同。Hibernate提供了org.Hibernate.Criteria接口、org.hibernate.criterion.Criterion接口和org.hibernate.criterion .Restrictions类等Criteria API,用于支持在运行时动态生成查询语句。1. 条件原创 2017-12-02 17:21:05 · 1303 阅读 · 0 评论 -
hibernate系列十六:分组查询,子查询,原生sql查询,命名查询
一 分组查询HQL查询语句使用groupby子句进行分组查询,使用having子句筛选分组结果。下面通过示例说明。案例1. 按性别分组,查询学生的平均年龄package com.obtk.test;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Que原创 2017-12-02 15:22:12 · 835 阅读 · 0 评论 -
hibernate系列十五:hql连接查询,查询性能优化,hql批量增删改
一 hql连接查询和SQL查询一样,HQL也支持各种各样的连接查询,如内连接、外连接。我们知道在SQL中可通过join子句实现多表之间的连接查询。HQL同样提供了连接查询机制,还允许显式指定迫切内连接和迫切左外连接。HQL提供的连接方式如表1所示。连接类型HQL语法适用范围内连接inner join或 join适用于有关联关系原创 2017-12-01 17:07:59 · 1840 阅读 · 0 评论 -
hibernate系列十四:hibernate缓存
一. hibernate一级缓存 Session内的缓存即一级缓存,位于缓存中的对象称为持久化对象,它和数据库中的相关记录对应。Session能够在某些时间点,按照缓存中对象的变化来执行相关SQL语句,从而同步更新数据库,这一过程称为刷新缓存。 当应用程序调用Session的save()、update()、saveOrUpdate()、load()或get()方法,以及调用Q原创 2017-12-01 00:26:45 · 354 阅读 · 0 评论 -
hibernate系列十三:0penSessionlnView模式
在Java Web应用中,通常需要调用Hibernate API获取到要显示的某个对象并传给相应的视图JSP,并在JSP中从这个对象导航到与之关联的对象或集合数据。这些关联对象或集合数据如果是被延迟加载的,Hibernate就会抛出LazylnitializationException。因为在调用完FIibernate后,Session对象已经关闭了。针对这个问题,Hibernate社区提出了Op原创 2017-11-30 22:56:11 · 383 阅读 · 0 评论 -
hibernate系列十二:延迟加载
一. 简介当Hibernate从数据库中加载DepartEntity对象时,如果同时自动加载所有关联的StudentEntity对象,而程序实际上仅仅需要访问DepartEntity对象,那么这些关联的StudentEntity对象就白白浪费了许多内存空间。本节以DepartEntity和StudentEntity类为例,介绍如何设置延迟加载,以优化查询性能。 Hibernate原创 2017-11-30 22:41:49 · 413 阅读 · 0 评论 -
hibernate系列十一:一对一关联配置及案例
人和身份证是典型的一对一关系============sql脚本====================--身份证表CREATE TABLE Card( cardId CHAR(18) PRIMARY KEY, cardName VARCHAR(50) NOT NULL DEFAULT '中华人民共和国居民身份证', signOffice VARCHAR(50) NOT NU原创 2020-09-13 12:18:55 · 382 阅读 · 0 评论 -
hibernate系列十:多对多关联配置及案例(二)
接上一篇,还是以学生---课程为例。一 把多对多拆分成两个多对一,组合主键的方式================sql脚本==========================CREATE TABLE student( stuId INT PRIMARY KEY AUTO_INCREMENT, stuName VARCHAR(20) NOT NULL, ge...原创 2017-11-30 00:09:36 · 321 阅读 · 0 评论 -
hibernate系列九:多对多关联配置及案例(一)
前面已介绍了映射一对多和多对一关联关系的方法,这是软件开发中最常见的关联关系。下面将介绍另一种关联关系的映射:多对多关联。以Course(课程)与Student(学生)类的关系为例,介绍映射多对多关联。一门课程需要多位学生参与,一位学生可能选修多门课程,构成了课程和学生之间的多对多的关系。Course表(课程)、Student表(学生)如图6.4所示。在关系数据模型中,无法直接表达Course原创 2017-11-29 23:29:42 · 460 阅读 · 0 评论 -
hibernate系列八:一对多关联配置及案例
接上一篇的多对一案例,不多说。=================实体类DeptEntity.java=======================package com.obtk.entitys;import java.util.ArrayList;import java.util.List;public class DeptEntity implements java.io.原创 2017-11-29 22:42:24 · 288 阅读 · 0 评论 -
hibernate系列七:多对一关联配置及案例
这里以大学里的学生表和系表为例介绍,学生和系之间是多对一的关系。我们称学生是多方或外键方,称系为一方或主键方。=================sql脚本=========================CREATE TABLE department( deptId SMALLINT PRIMARY KEY, departName VARCHAR(20) NOT NULL原创 2017-11-29 22:12:45 · 305 阅读 · 0 评论 -
hibernate系列六:使用MyEclipse实现hibernate反向工程
在前面的博文中,持久化类和映射文件都是我们自己编写的,本节来阐述MyEclipse提供的依据数据表生成持久化类和映射文件的工具,此工具称为Hibernate反向工程。使用此工具前,先在MyEclipse数据库窗口中创建数据库连接。 使用Hibernate反向工程的具体操作步骤如下所示。 (1)在MyEclipse中新建工程后,为该工程添加Hibernate支持,如图所示。原创 2017-11-28 23:18:24 · 1725 阅读 · 1 评论 -
hibernate系列五:HQL查询(二)
一 动态条件查询------------------------------------------------条件实体类--------------------------------------------package com.obtk.entitys;public class ConditionEntity { private String theName; privat原创 2017-11-28 22:59:55 · 342 阅读 · 0 评论 -
hibernate系列一:入门篇
环境: hibernate-distribution-3.3.2.GA-dist , jdk1.7一. 简介二. 入门案例1. 在mysql中建表并插入数据CREATE TABLE users( userId INT PRIMARY KEY AUTO_INCREMENT, userName VARCHAR(20) NOT NULL, P原创 2017-11-22 11:56:59 · 540 阅读 · 0 评论