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