`
文章列表
      对象和关系数据库之间的映射通常是用一个XML文档(XML document)来定义的。这个映射文档被设计为易读的, 并且可以手工修改。映射语言是以Java为中心,这意味着映射文档是按照持久化类的定义来创建的, 而非表的定义。 请注意,虽然很多Hibernate用户选择手写XML映射文档,但也有一些工具可以用来生成映射文档, 包括XDoclet,Middlegen和AndroMDA。 让我们从一个映射的例子开始: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "- ...
(译者注:在阅读本章的时候,以后整个手册的阅读过程中,我们都会面临一个名词方面的问题,那就是“集合”。"Collections"和"Set"在中文里对应都被翻译为“集合”,但是他们的含义很不一样。Collections是一个超集,Set是其中的一种。大部分情况下,本译稿中泛指的未加英文注明的“集合”,都应当理解为“Collections”。在有些二者同时出现,可能造成混淆的地方,我们用“集合类”来特指“Collecions”,“集合(Set)”来指"Set",一般都会在后面的括号中给出英文。希望大家在阅读时联系上下文理解,不要造成误解。 ...
Hibernate一共包括了23个jar包,令人眼花缭乱。本文将具体讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate ...
@ Hibernate3.0 àJBOSS @ ORM à「对象/对应关系」(Object/Relational Mapping) @ Hibernate3.0 依赖底层的JDBC2.0   Hibernate入门 - 包作用详解 (25个jar) @必须的jar hibernate3.0.jar: 必须使用的jar包 antlr.jar: Hibernate使用ANTLR来产生查询分析器 EHCache.jar: Hibernate可以使用不同cache缓存工具作为二级缓存。缺省的cache缓存 cglib-asm.jar: Hibernate用它来实现PO字节码的动态生成
Criteria: Criteria criteria = session.createCriteria(User.class); 1)criteria.add(Restrictions.gt("age", new Integer(20))); 2)criteria.add(Restrictions.lt("age", new Integer(40))); 3)criteria.add(Restrictions.or(Restrictions.eq("age", new Integer(20)), Restrictions.isNull ...
hiberate缓存 一般而言,ORM的数据缓存应包含如下几个层次: 1.       事务级缓存(Transcation Layer Cache) 2.       应用级/进程级缓存(Application/Process Layer Cache) 3.        分布式缓存(Cluster Layer Cache) Hibernate数据缓存(Cache)分为两个层次,以Hibernate语义加以区分, 可分为: 1.       内部缓存(Session Level,也称为一级缓存) 2.       二级缓存(SessionFactory Level,也称为二级缓存) Hibern ...
第 8 章 关联关系映射 8.1. 介绍 关联关系映射通常情况是最难配置正确的。在这个部分中,我们从单向关系映射开始,然后考虑双向关系映射,由浅至深讲述一遍典型的案例。在所有的例子中,我们都使用 Person和Address。 我们根据映射关系是否涉及连接表以及多样性来划分关联类型。 在传统的数据建模中,允许为Null值的外键被认为是一种不好的实践,因此我们所有的例子中都使用不允许为Null的外键。这并不是Hibernate的要求,即使你删除掉不允许为Null的约束,Hibernate映射一样可以工作的很好。 8.2. 单向关联(Unidirection ...
第 11 章 与对象共事 Hibernate是完整的对象/关系映射解决方案,它提供了对象状态管理(state management)的功能,使开发者不再需要理会底层数据库系统的细节。 也就是说,相对于常见的JDBC/SQL持久层方案中需要管理SQL语句,Hib ...
第 14 章 批量处理(Batch processing) 使用Hibernate将 100 000 条记录插入到数据库的一个很自然的做法可能是这样的 Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); for ( int i=0; i<100000; i++ ) { Customer customer = new Customer(.....); session.save(customer); } tx.commit(); session.c ...
第 20 章 提升性能 20.1.  抓取策略(Fetching strategies) 抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。 Hibernate3 定义了如下几种抓取策略: 连接抓取(Join fetching) - Hibernate通过 在SELECT语句使用OUTER JOIN(外连接)来 获得对象 ...
第 21 章 工具箱指南 可以通过一系列Eclipse插件、命令行工具和Ant任务来进行与Hibernate关联的转换。 除了Ant任务外,当前的Hibernate Tools也包含了Eclipse IDE的插件,用于与现存数据库的逆向工程。 Mapping Editor: Hibernate XML映射文件的编辑器,支持自动完成和语法高亮。它也支持对类名和属性/字段名的语义自动完成,比通常的XML编辑器方便得多。 Console: Console是Eclipse的一个新视图。除了对你的console配置的树状概览,你还可以获得对你持久化类及其关联的交互式视图。Con ...
第 3 章 体系结构(Architecture) 3.1. 概况(Overview) 一个非常简要的Hibernate体系结构的概要图: 这个图可以看出,Hibernater使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。 我们来更详细地看一下 ...
Global site tag (gtag.js) - Google Analytics