Hibernate在更新对象的时候,如果对象的有些属性没有设置,那么在更新的时候,会被默认为空. 特别在更新表单对象的时候. 例子: 如: Department部门类 该部门类有以下属性:  id : Long  name : String (注:部门名称) description : String  (注:部门说明) parent : Department  (注:上级部门) children : Set<Department> (注:下级部门) 修改页面表单: 除了children属性没有…
(一)发展历史 在Struts框架中使用jdbc连接来读写数据库,我们最常见的就是打开数据库连接.使用复杂的sql语句进行读写.关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常繁琐的过程. 这时出现了Hibernate框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应.当我们需要相关操作时,不再关注数据库表.我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能.使我们的软件开发真正…
http://blog.csdn.net/yerenyuan_pku/article/details/52732990 Java对象持久化概述 应用程序的分层体系结构 基于B/S的典型三层架构  说明: 展现层:提供与用户交互的界面. 业务逻辑层:实现各种业务逻辑. 数据访问层:负责存放和管理应用程序的持久化业务数据. 更详细的三层架构如下图所示:  软件的层必须具备如下特征: 每个层由一组相关的类或组件构成,共同完成特定的功能. 层与层之间存在自上而下的依赖关系,即上层组件访问下层组件的 AP…
lHibernate对象共有三种状态 •瞬时状态:瞬时对象 •持久化状态:持久化对象 •托管状态:托管对象 l瞬时对象(Transient Object),简称TO l瞬时对象指的是应用程序创建出来的对象,并且未受到Hibernate控制,一旦Hibernate控制了该对象,具有了OID,对象就不再是瞬时对象 l持久化对象(Persistent Object),简称PO l持久化对象指的是受Hibernate控制的对象,无论该对象是如何得到的,只要受到Hibernate控制,该对象即为持久化对象…
持久化对象 再讲持久化对象之前,我们先来理解有关session中get方法与 load方法区别: 简单总结: (1)如果你使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库中是一定存在的,所以它可以放心的使用,它可以放心的使用代理来延迟加载该对象. 在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,那没办法,只能抛异常. 由于session中的缓存对于hibernate来说是个相当廉价的资源,所以在load时会先查一下session缓存看看该id…
Hibernate架构下图提供了hibernate体系的高层视图: Hibernate全面解决方案: Hibernate核心APIConfiguration负责管理数据库的配置信息.数据库的配置信息包含了Hibernate连接数据库的一些基本信息(hibernate.cfg.xml),Configuration对象可以通过加载配置文件获取并管理这些信息. Configuration config = new Configuration().configure();或者:File file = n…
一,Hibernate框架介绍 没有Hibernate之前,使用jdbc来连接数据库时,需要反射加载驱动,再获取连接 在连接上获取sql承载块,传入sql语句执行,获取结果集,解析结果 Hibernate框架,核心对象就是使用连接字串获取的session,自动完成对象关系映射,不需要手动来解析对象 二,程序实例 1.新建web项目,导入框架包 2.编写 User.java package com.zhaolong.bean; import java.sql.Date; public class…
Hibernate框架简化了java应用程序与数据库交互的开发.Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. ORM工具简化浏览数据的创建,数据处理和数据访问.它是将对象映射到数据库中存储的数据(表)的编程技术. ORM工具内部使用JDBC API与数据库进行交互. Hibernate框架的优点: 开源和轻量级:Hibernate看见是根据LGPL许可证和轻量级的开源工具. 快速性能:Hibernate框架的性能很快,因为缓存在Hibernate框架内部使用.Hiberna…
一.综述 hibernate中的对象有三种状态,分别是TransientObjects(瞬时对象).PersistentObjects(持久化对象)和DetachedObjects(托管对象也叫做离线对象). 二.Hibernate对象三种状态转化图: 三.Hibernate对象三种状态简介及转化条件: (1)临时状态: 由Java的new命令开辟内存空间的java对象也就是普通的java对象,如果没有变量引用它它将会被JVM收回.简单的说就是程序里面new一个对象,还没有和session关联…
1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configurati…