
Hibernate
文章平均质量分 91
iteye_6153
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hibernate4教程一:入门介绍
第一部分:Hibernate入门 Hibernate是什么 Hibernate是一个轻量级的ORM框架 ORM原理(Object Relational Mapping) ORM基本对应规则: 1:类跟表相对应 2:类的属性跟表的字段相对应 3:类的实例与表中具体的一条记录相对应 4:一个类可以对应多个表,一个表也可以对应对个类 ...原创 2016-03-27 21:11:54 · 90 阅读 · 0 评论 -
Hibernate访问多个数据库
一、Hibernate访问数据库时加载的过程对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure();在Hibernate中,Configuration是hibernate的入口。在实例化一个Configuration的时候,Hibe...原创 2016-04-02 08:56:20 · 83 阅读 · 0 评论 -
Hibernate之主键生成策略
简介版: increment:代理主键,适合于所有数据库,由hibernate维护主键自增,和底层数据库无关,但是不适合于2个及以上的hibernate进程。 identity:代理主键,适合于Mysql或ms sql server等支持自增的dbms,主键值不由hibernate维护。 sequence:代理主键,适合于oracle等支持序列的dbms,主键值不由hibernate维护...原创 2016-04-01 22:21:19 · 77 阅读 · 0 评论 -
Hibernate4之注解零配置
@Entity,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) 。 @Table,注册在类头上,注解声明了该实体bean映射指定的表(table)。 @Id用来注册主属性,@GeneratedValue用来注册主属性的生成策略,@Column用来注册属性,@Version用来注册乐观锁,@Transient用来注册不是属性。 以上的@Id、@Generate...原创 2016-04-01 22:16:31 · 100 阅读 · 0 评论 -
Hibernate4教程七:实战-概念整理
(可忽略不看,都是些理论部分) 设计细颗粒度的持久类并且使用<component>来实现映射。 例如使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利于代码重用和简化代码重构(refactoring)的工作。 对持久类声明标识符属性( identifier properties)。 Hibernate中标识符属...原创 2016-04-01 21:34:58 · 89 阅读 · 0 评论 -
Hibernate4教程六(2):基本实现原理
整体流程 1:通过configuration来读cfg.xml文件 2:得到SessionFactory 工厂 3:通过SessionFactory 工厂来创建Session实例 4:通过Session打开事务 5:通过session的api操作数据库 6:事务提交 7:关闭连接 (个人觉得可以忽略不看) 说明:以下分方法描述的实现流程并不是Hibernate的完整...原创 2016-04-01 21:28:13 · 97 阅读 · 0 评论 -
Hibernate4教程六:性能提升和二级缓存
抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL或条件查询(Criteria Query)中重载声明。 Hibernate4 定义了如下几种抓取策略: 1:连接抓取(Join fetching) - Hiber...原创 2016-03-30 22:32:06 · 157 阅读 · 0 评论 -
Hibernate4教程五:事务和并发
Hibernate本身没有事务的实现 Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。也就是说你在Hibernate里面使用的事务要么是JDBC的事务,要么是JTA的事务。 Hibernate不锁定内存中的对象 你的应用程序会按照你的数据库事务的隔离级别规定的那样运作,真正对事务的实现和支持也依赖于数据库。 对于并发处理,Hibernate提供...原创 2016-03-30 21:34:08 · 108 阅读 · 0 评论 -
Hibernate4教程二:基本配置(3)
被映射的类必须定义对应数据库表主键字段。大多数类有一个JavaBeans风格的属性, 为每一个实例包含唯一的标识。<id> 元素定义了该属性到数据库表主键字段的映射。 java代码: 查看复制到剪贴板打印 <id name="propertyName" (1) type="typename" (2) column="column_...原创 2016-03-30 21:12:30 · 117 阅读 · 0 评论 -
Hibernate4教程二:基本配置(2)
<hibernate-mapping>元素 这个元素是xxx.hbm.xml配置的根元素,定义如下: java代码: 查看复制到剪贴板打印 <hibernate-mapping schema="schemaName" (1) catalog="catalogName" (2) default-cascade="cascade...原创 2016-03-30 21:05:39 · 144 阅读 · 0 评论 -
Hibernate4教程四:关系映射
数据表之间的关系分为三类:一对一、一对多、多对多 一对一数据表(部门表和部门主管表) 一对多数据表(部门表和部门下的人员表) 多对多数据表(部门表和人员表) 根据相互寻找的关系又分:单向和双向 对象一对一 (双向) public class A { private B b = null; } public class B...原创 2016-03-29 13:19:09 · 82 阅读 · 0 评论 -
Hibernate4教程三:Hibernate的基本开发
1:瞬时(Transient)[临时状态] - 由new操作符创建,且尚未与Hibernate Session关联的对象被认定为瞬时的。瞬时对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。如果瞬时对象在程序中没有被引用,它会被垃圾回收器销毁。使用Hibernate Session可以将其变为持久状态,Hibernate会自动执行必要的SQL语句。 2:...原创 2016-03-28 22:50:32 · 115 阅读 · 0 评论 -
Hibernate4教程二:基本配置
可编程的配置方式一: 如果在配置cfg.xml的时候,不想在里面配置hbm.xml怎么办呢?可在程序里使用可编程的配置方式,也就是使用程序来指定在cfg.xml里面的配置信息,不推荐这种方式。如下: Configuration cfg = new Configuration() .addResource("Item.hbm.xml") //与该代码不在该路径下则需要些全...原创 2016-03-28 21:10:47 · 107 阅读 · 0 评论 -
hibernate保存数据到mysql时的中文乱码问题
因为hibernate底层使用的是jdbc的技术,所以我参考了别人使用jdbc保存数据到mysql里面时解决乱码问题的方法! 首先要告诉数据库要插入的字符串的字符集,mysql 默认使用的字符集是 latin1。我要保存的字符串是 UTF-8 编码的(字符集是 Unicode),所以包含这个字段的表应该使用 UTF-8 编码。 这里有几种解决办法。 1、在建立数据库的时候指定数据库的字符...原创 2016-04-02 08:58:51 · 94 阅读 · 0 评论