
Hibernate
DaveeChen
呵呵
展开
-
Hibernate入门
1.登录http://www.hibernate.org/downloads.html站点,下载Hibernate Core,目前最新版本是3.3.1.GA,Windows平台下载.zip包(hibernate-distribution-3.3.1.GA-dist.zip).将下载的.zip包解压.2.鼠标右击工程项目,选择properties-->Java Build Path-...2009-05-29 10:08:20 · 107 阅读 · 0 评论 -
Hibernate标识符生成器
1.assigned标识符生成器 assigned标识符生成器指定由应用程序生成并维护持久化对象的标识符。在这种情况下,标识符生成器使用应用程序分配给对象的标识符值。一般情况下,assigned生成器使用一个自然键(包含对象的业务属性)做主键。 assigned标识符生成器使用应用程序生成的标识符属性值,不涉及底层数据库实现细节,适合于各种数据库;持久化类的标识符可以采用任何Java支...原创 2010-08-24 17:21:23 · 175 阅读 · 0 评论 -
理解Hibernate的inverse和cascade属性(实例)
1.理解cascade属性创建CUSTOMERS和ORDERS数据库表CREATE TABLE `hiber`.`customers` ( `ID` bigint(20) NOT NULL AUTO_INCREMENT, `NAME` varchar(45) DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=MyISAM;CR...2010-08-26 00:25:06 · 124 阅读 · 0 评论 -
理解持久化类状态、生命周期和Session接口方法工作原理
持久化实例有三种状态:1.临时状态(transient):刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象称为临时对象。2.持久化状态(persistent):已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象称为持久化对象。3.游离状态(detached):已经被持久化,但不再处于Session的缓存中。处于游离状态的...2010-08-26 23:25:42 · 123 阅读 · 0 评论 -
Hibernate检索行为
[color=red]以下讲解都是基于hibernate-distribution-3.6.0.Beta2版本[/color][b]了解Hibernate的检索行为,有助于优化Hibernate的查询性能。[/b]持久类配置文件的类级别和关联级别的默认检索策略是延迟检索(hibernate2.x默认是立即检索),即和Customer.hbm.xml如下: ...2010-08-29 21:37:18 · 85 阅读 · 0 评论 -
Hibernate命名查询语句定义
使用Hibernate的HQL常常需要在Java代码中写字符串查询语句,为了使业务逻辑和查询语句分离,可以把字符串查询语句定义在映射文件中。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN...2010-08-29 22:01:03 · 117 阅读 · 0 评论 -
Session的lock()方法用途
session.lock(detachedObject, LockMode.READ);1.版本检查2.升级锁为悲观锁3.把游离对象与当前session关联Session的lock()方法与update()方法的区别lock()方法:1.在执行lock()方法时,如果设定了LockMode.READ模式,则立即进行版本检查,使用类似以下形式的查询语句...原创 2010-08-31 11:27:26 · 1567 阅读 · 0 评论 -
Hibernate取延迟关联对象
背景: Customer和Order是一对多双向关联关系 当我们取到Customer对象后,把Session关闭,当要使用和该Customer对象关联的Order时,直接调用getOrders()方法导航到Order对象会得到异常。如下:public static void main(String[] args) { Customer customer = (Customer...2010-09-06 22:34:45 · 150 阅读 · 0 评论