![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
文章平均质量分 70
oh_EJiao
种一棵树最好的时间是十年前,其次是现在
展开
-
Hibernate 映射配置,主键自增长,复合主键
1. 普通字段类型2. 主键映射单列主键映射多列作为主键映射 主键生成策略,查看api: 5.1.2.2.1. Various additional generators 数据库:一个表能否有多个主键? 不能。为什么要设置主键? 数据库存储的数据都是有效的,必须保持唯一。 (为什么把id作为主键?)因为表中通常找不到合适的列原创 2017-11-17 15:20:15 · 3722 阅读 · 0 评论 -
Hibernate二级缓存
Hibernate提供的缓存有一级缓存、二级缓存。 目的是为了减少对数据库的访问次数,提升程序执行效率! 一级缓存:基于Session的缓存,缓存内容只在当前session有效,session关闭,缓存内容失效!特点: 作用范围较小! 缓存的事件短。缓存效果不明显。概述二级缓存:Hibernate提供了基于应用程序级别的缓存, 可以跨多个sessio原创 2017-11-23 23:55:26 · 189 阅读 · 0 评论 -
Hibernate对连接池的支持
连接池作用: 管理连接;提升连接的利用效率!常用的连接池: C3P0连接池 Hibernate 自带的也有一个连接池,且对C3P0连接池也有支持! Hbm 自带连接池:只维护一个连接,比较简陋。可以查看hibernate.properties文件查看连接池详细配置:#################################### Hibe原创 2017-11-23 23:27:15 · 509 阅读 · 0 评论 -
Hibernate查询(主键,对象导航,HQL,Criteria,SQLQuery,分页)
1. 查询概述1) Get/load主键查询2) 对象导航查询3) HQL查询, Hibernate Query language hibernate提供的面向对象的查询语言。4) Criteria 查询, 完全面向对象的查询(Query By Criteria ,QBC)5) SQLQuery, 本地SQL查询缺点:不能跨数据库平台: 如果该了数据库,sql原创 2017-11-23 17:26:19 · 214 阅读 · 0 评论 -
Hibernate继承映射(简单继承,subclass,joined-subclass,union-subclass)
继承映射 需求:父类:动物 子类: 猫 猴子 简单继承映射 (3个表,3个映射文件)(有多少个子类,写多少个映射文件)使用subclass的继承映射 (1个表,1个映射文件)使用joined-subclass的继承映射(3个表,1个映射文件)使用union-subclass的继承映射(2个表,1个映原创 2017-11-23 12:30:22 · 631 阅读 · 1 评论 -
Hibernate组件映射
类的关系组合关系一个类中包含了另外一个类。这2个类中就是组合关系。需求: 汽车与车轮继承关系一个类继承另外一个类。这2个类中就是继承关系。需求:动物猫猴子组件映射类组合关系的映射,也叫做组件映射!注意:组件类和被包含的组件类,共同映射到一张表!步骤一:建立实体类Car 和Wheel (此处省略get() set() 方法)原创 2017-11-22 23:49:17 · 175 阅读 · 0 评论 -
Hibernate一对一映射(基于外键的映射,基于主键的映射)
需求: 用户与身份证信息一条用户记录对应一条身份证信息! 一对一的关系!基于外键的映射步骤一:新建两个实体类user IdCard 步骤二:配置相对应的 user.hbm.xml 和 IdCard.hbm.xml文件 步骤三:建立测试应用程序类 App1原创 2017-11-22 23:08:58 · 419 阅读 · 0 评论 -
Hibernate 懒加载
懒加载:(lazy)概念:当用到数据的时候才向数据库查询,这就是hibernate的懒加载特性。目的:提供程序执行效率! lazy 值true 使用懒加载false 关闭懒加载extra (在集合数据懒加载时候提升效率)在真正使用数据的时候才向数据库发送查询的sql;如果调用集合的size()/isEmpty()方法,只是统计,不真正查询数据!原创 2017-11-22 16:51:43 · 209 阅读 · 0 评论 -
Hibernate中对象状态以及一级缓存(session的缓存)
一、Hibernate的对象状态 1、Hibernate中对象的状态: 临时/瞬时状态、持久化状态、游离状态。1)临时状态特点: a)直接new出来的对象。 b)不处于session的管理 c)数据库中没有对象的记录。2)持久化状态特点: a)当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久化状态。转载 2017-11-22 13:59:26 · 891 阅读 · 0 评论 -
Hibernate多对多映射举例与总结
需求: 项目与开发人员 Project Developer 电商系统 张三 李四 OA系统 张三 王五数据库步骤一:我们先建立一个项目类与开发人员类(此处省略get() set()封装) 步骤二:配原创 2017-11-21 10:43:44 · 227 阅读 · 0 评论 -
Hibernate集合映射中的inverse属性以及cascade级联
Inverse属性Inverse属性,是在维护关联关系的时候起作用的。 表示控制权是否转移。(在一的一方起作用) Inverse , 控制反转。Inverse = false 不反转; 当前方有控制权True 控制反转; 当前方没有控制权 只在集合映射中才能使用。注意: 和中并没有这个属性维护关联关系中,是否设置inv原创 2017-11-20 10:15:58 · 239 阅读 · 0 评论 -
Hibernate一对多与多对一映射
首先我们要了解一下什么是一对多,多对一,多对多部门与员工 一个部门有多个员工; 【一对多】 多个员工,属于一个部门 【多对一】项目与开发员工一个项目,有多个开发人员!一个开发人员,参与多个项目! 【多对多】我们使用一个小例子来学习yix原创 2017-11-19 22:54:53 · 194 阅读 · 0 评论 -
Hibernate的Set,List,Map集合映射,数组映射
在数据库操作中,我们通常会用到多张项关联的表,一个用户通常有多个地址。由此我们便需要用到集合映射。首先看一下整体结构Set集合映射步骤一:创建实体对象类,需要单独建表的属性address用Set集合类型封装。(此处省略了get() set()方法)步骤二:配置User.hbm.xml映射表原创 2017-11-19 09:54:11 · 697 阅读 · 0 评论 -
Hibernate自动建表
Hibernate自动建表方法一:在hibernate.cfg.xml中通过配置自动建表create-drop每次在创建sessionFactory时候执行创建表;当调用sesisonFactory的close方法的时候,删除表! create 每次都重新建表; 如果表已经存在就先删除再创建update 如果表不存在就创建; 表存在原创 2017-11-14 23:23:18 · 605 阅读 · 0 评论 -
Hibernate的增删改查CRUD
Hibernate的增删改查 CRUD 步骤一: 在进行Hibernate的任何操作之前我们必须要做的步骤。(以下步骤在Hibernate的第一个小例子中有详解) 1.导包(这里需要导入9个基础包)。 2.建立与数据库项对应的实体对象类Employee 3.编写实体类相对应的映射文件Employee.hbm.xml(要与Employee在同一目录下) 4.编写h原创 2017-11-14 10:28:36 · 202 阅读 · 0 评论 -
Hibernate的 SessionFactory,Configuration,Query ,Criteria接口简介,及Query的查询方法
关于SessionFactory接口我们从SessionFactory工厂类中获取session实例,事实上当我们的项目中只对应一个数据库时就不需要重复的创建session实例。因为一个数据库对应一个session实例,SessionFactory在Hibernate中起到了一个缓冲区的作用,缓冲了一些Hibernate自动生成的sql语句,一些映射数据和可能重复利用的数据。原创 2017-11-13 22:34:20 · 336 阅读 · 0 评论 -
第一个Hibernate小例子
第一个Hibernate小案例O, Object 对象R, Realtion 关系 (关系型数据库: MySQL, Oracle…)M,Mapping 映射hibernate就是ORM(对象关系映射)的实现目的:将对象直接传入数据库,无需经过insert等语句,且不用在insert中getName()等来进行对数据库的操作。直接获取和存储原创 2017-11-13 18:25:49 · 165 阅读 · 0 评论 -
Hibernate-struts 项目中Session的管理
重点:1. Struts与Hibernate一起使用完成案例开发!2. Open Session In View 模式应用 需求:显示部门信息,部门下的所有员工!【要求:员工信息在jsp页面显示,使用懒加载完成!】数据库设计:T_dept/ t_employee项目框架搭建a. 引用的jar文件struts相关jar文件hibernate相关原创 2017-11-24 11:56:25 · 200 阅读 · 0 评论