
Hibernate
nomad2
<a href="http://www.fi
展开
-
Hibernate底层技术简介 CGLIB
从可以看到,基于ASM的开发很复杂,需要了解JVM的底层编码。CGLIB以ASM为基础, 对ASM的功能进行了扩展和封装,提供了更友好的API,部分通用的模版和高级的功能实现。CGLIB的具体功能如下:(1)扩展ASM的Visitor模式。在ASM的Visitor模式的基础上利用ClassEmitter和CodeEmitter将Visitor事件封装为更符合Java开发者习惯的事件。原创 2007-01-21 12:16:00 · 4143 阅读 · 1 评论 -
Hibernate查询语言HQL
HQL通过面向对象的语句结构实现了和SQL语言类似的功能,而且HQL语言在实际过程中会被转化为SQL语言。1. from子句例如:from computer;from computer as c;from computer, programmer; 2. 关联和连接利用join定义连接,连接的类型包括:内连接(inner join)、左外连接(left out jo原创 2007-01-24 14:20:00 · 1547 阅读 · 0 评论 -
Hibernate的对象关系映射(7)
2.4.2 SetSet和Map类似,但是Set没有index。(1) element(2) one-to-many(3) many-to-many(4) composite-element(5) many-to-any(6) Set的排序利用sort时,需要使用比较器。(7) Set的子元素和属性2.4.3 ListList和Map类似,但是List的原创 2007-01-23 21:31:00 · 1443 阅读 · 0 评论 -
Hibernate的对象关系映射(3)
2.1.4 使用subselect添加查询语句在声明了Box和Bottle之后,利用subselect来实现Container。映射文件如下xml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sour原创 2007-01-23 13:43:00 · 1259 阅读 · 0 评论 -
Hibernate的对象关系映射(2)
2.1.3 复合ID(composite-id)(1) key-property元素例如类Software定义如下:package com.weportal.compositeid;import java.io.Serializable;import java.util.Date;public class Software implements Serializable ...{原创 2007-01-23 13:41:00 · 1566 阅读 · 0 评论 -
Hibernate的对象关系映射(1)
1. 映射文件hibernate-mapping-3.0.dtd,位于“/src/org/hibernate”下。2. 类映射2.1 抽象类映射 抽象类Container的定义如下:package com.weportal.container;/** *//** * @hibernate.class * table = "CONTAINER" * @hibe原创 2007-01-22 22:20:00 · 1894 阅读 · 0 评论 -
Hibernate的编程接口
1. 基本操作下面的例子使用的表computer的定义如下: create table `hibernate`.`computer`( `id` int not null auto_increment, `cpu` varchar(50), `mainboard` varchar(50), `displaycard` varcha原创 2007-01-22 20:55:00 · 1895 阅读 · 0 评论 -
Hibernate条件查询以及本地查询
hibernate实现了条件查询。现在Hibernate也支持一种直观的、可扩展的条件查询API。目前为止,这个API还没有更成熟的HQL查询那么强大,也没有那么多查询能力。特别要指出,条件查询也不支持投影(projection)或统计函数(aggregation)。 1. Expression表达式例如Expression.eq、Expression.like等等。2. 排序Or原创 2007-01-24 14:41:00 · 1356 阅读 · 0 评论 -
Hibernate的对象关系映射(8)
2.5 组件映射Component是一个被包含在其他实体中的对象。组件可能和集合映射一起使用。2.5.1 简单组件只需提供必要的属性。示例如下:package com.weportal.component;public class Country ...{ private long id; private String name; private long p原创 2007-01-23 22:31:00 · 1602 阅读 · 0 评论 -
Hibernate的对象关系映射(6)
2.4 集合映射java的collection和数组都可以被映射,意义在于表示数据之间的关联,对于hibernate管理的数据而言,java的集合对象主要起到了接口的作用。2.4.1 Map(1) index和elementxml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernat原创 2007-01-23 16:41:00 · 1755 阅读 · 0 评论 -
Hibernate的对象关系映射(5)
2.3 多态性2.3.1 3种继承策略(1) 共享一个数据表利用子类之间识别字段来区分。xml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernat原创 2007-01-23 15:52:00 · 1480 阅读 · 0 评论 -
Hibernate的对象关系映射(4)
2.2 关系映射 级联(cascade),取值有:all、none、save-update、delete。其中all表示在所有的情况下都进行级联操作;none表示在所有的情况下都不进行级联操作;save-update代表在执行保存更新时进行级联操作;delete表示在delete操作时进行级联操作。2.2.1 一对一(one-to-one)例如product和image之间的一对一关系原创 2007-01-23 14:40:00 · 1108 阅读 · 0 评论 -
Hibernate底层技术简介 拦截方法
(1)利用反射机制下面有类Monkey,接口Carrier,Monkey类没有实现Carrier接口,自然也就没有对应的transport()和getNum()方法。package com.weportal.asm;public class Monkey ...{} package com.weportal.asm;public interface Carrier ..原创 2007-01-21 10:41:00 · 2897 阅读 · 0 评论 -
Hibernate配置
第 4 章 配置 由于Hibernate是为了能在各种不同环境下工作而设计的, 因此存在着大量的配置参数. 幸运的是多数配置参数都 有比较直观的默认值, 并有随Hibernate一同分发的配置样例hibernate.properties (位于etc/)来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下做一些自定义的修改.转载 2007-01-21 21:59:00 · 2702 阅读 · 0 评论 -
Hibernate底层技术简介 JDBC编程
1. ConnectionConnection是JDBC中代表数据库连接的接口。Connection对象通常友DriverManager和DataSource的getConnection()方法产生。其中DataSource主要有3种类型:标准DataSource、提供连接池的ConnectionPoolDataSource和实现分布式事务的XADataSource。1.1 DriverM原创 2007-01-21 16:42:00 · 2785 阅读 · 0 评论 -
Hibernate底层技术简介 ASM
参考《精通Hibernate》,刘洋 著(1) asm项目简介from the site http://asm.objectweb.org/, it says that, ASM is a Java bytecode manipulation framework. It can be used to dynamically generate stub classes or other pr原创 2007-01-20 21:49:00 · 2365 阅读 · 0 评论 -
使用C3P0-0.9.1.jar包的问题:APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
from: http://blog.youkuaiyun.com/dingherry/article/details/6534494C3P0-0.9.1.jar包的问题出现了:view plain2011-06-09 16:15:57.500 [com.mchange.v2.c3p0.C3P0Registry]-[INFO] Initializing c3p0-0.9.1 [built 16-转载 2012-01-01 19:40:30 · 9077 阅读 · 0 评论