`
melet
  • 浏览: 69633 次
  • 性别: Icon_minigender_1
  • 来自: 海南-临高
社区版块
存档分类
最新评论

HIbernate学习笔录1

    博客分类:
  • J2EE
阅读更多

去年年初的时候,买了一本《精通hibernat:java对象持久化技术详解》丛书,编者:孙卫琴。 当时,一是为了做项目的时候,遇到刺手的难题能迅速找到解决方案,当然也可以咨询资深高的同行。但眼下是最为便捷的方式之一;二是也可以供新来的同事阅读。一举两得。踏入07之后,hibernate3 的 横空出世。它的一些优点也深值得我们努力去学习新的东西。 以便能把手下在做的BILLING项目的性能给予很好的优化 。下边是laliluna提供的一本书。以下是书的目录结构:仅供学习及参考。

http://www.laliluna.de/hibernate-3-book-working-examples.html

看目录回顾所学习过的hibernate:

1 Hibernate 3 by example 1

2 Where to find what? 7

3 A first Hibernate example 8

 3.1 Basic idea of Hibernate 8
 
 3.2 Example for using Eclipse 8

  3.2.1 Introduction 8
  
  3.2.2 Create a Java Project 9
  
  3.2.3 Create the class 9
  
  3.2.4 Hibernate configuration 10
  
  3.2.5 Mapping file of Honey 11
  
  3.2.6 Add needed Libraries 12
  
  3.2.7 Create a session factory 13
  
  3.2.8 Configuring Log4J 16
  
  3.2.9 Create database and tables. 16
  
  3.2.10 Create a test client 17

 3.3 Created with Netbeans 19

4 Hibernate architecture 20

 4.1 What is Hibernate? 20

  4.1.1 Powerful mapping 20
  
  4.1.2 Powerful query languages 20

 4.2 Hibernate Architecture 21

  4.2.1 Lazy initialization, a Hibernate problem 21
  
  4.2.2 The three states of objects 23
  
  4.2.3 Conclusion 24

5 A more complex example ? web application 25

 5.1 Requirements and analysis 25
 
 5.2 Creating the web project 26
 
 5.3 Creating domain classes 26
 
 5.4 Hibernate configuration 30
 
 5.5 Mapping the inheritance 31
 
 5.6 Mapping the relation 34
 
 5.7 Application logic 36
 
  5.7.1 Use case login 37
  
  5.7.2 Other use cases 39

 5.8 Web Application 41

  5.8.1 My little web framework 41
  
  5.8.2 Controller Servlet 42
  
  5.8.3 Basic interface for all use cases 44
  
  5.8.4 Use case login 44
  
  5.8.5 Use case create order 46
  
  5.8.6 Use case customer order list 50
  
  5.8.7 Use case admin order list 51

6 Time to jump 54

7 Connection Pools 55

 7.1 Built- in connection pool 55
 
 7.2 C3P0 55
 
 7.3 DBCP 55
 
 7.4 JNDI 56

  7.4.1 Tomcat 56
  
  7.4.1.1 Set up a JNDI datasource 56
  
  7.4.1.2 Configure the datasource 57
  
  7.4.2 Jboss 58
  
  7.4.2.1 Configure datasources 58

8 Caches 59

 8.1 General 59

  8.1.1 AspectsThings to consider 59

  8.1.2 Choosing the cache mode 60

  8.1.2.1 Readonly 60

  8.1.2.2 Read-write 60

  8.1.2.3 Nonstrict-read-write 60
  
  8.1.2.4 Transactional 60
  
  8.1.3 Standard cache 60
  
  8.1.3.1 Using the cache 61
  
  8.1.4 Query cache 61
  
  8.1.5 Test all caches 62

 8.2 EH Cache 62
 
 8.3 OS Cache 62
 
 8.4 Swarmcache 63
 
 8.5 JBoss Treecache 63
 
 8.6 Bypass a cache 64

9 Mapping by example 65

 9.1 Mapping details 65

  9.1.1 Hibernate-mapping 65
  
  9.1.2 Class mapping 66
  
  9.1.3 Primary key mapping 68
  
  9.1.4 Primary key generators 68
  
  9.1.5 Other mapping tags 69

 9.2 Relation Mapping 69

  9.2.1 Selecting between List, Set, Bag to hold many side 70
  
   9.2.1.1 java.util.Set 71
   
   9.2.1.2 java.util.SortedSet 71
   
   9.2.1.3 java.util.Map 72
   
   9.2.1.4 java.util.SortedMap 72
   
   9.2.1.5 java.util.List with a list mapping 73
   
   9.2.1.6 java.util.List with a bag mapping 73
   
   9.2.1.7 java.util.List with an idbag mapping 74
   
   9.2.1.8 array of objects 75
   
   9.2.1.9 array of primitives 75

  9.2.2 Using relations and cascading 76

   9.2.2.1 Uni-directional 76
   
   9.2.2.2 Bi-directional 76
   
   9.2.2.3 Cascading 77

  9.2.3 Understanding the examples 79

  9.2.4 1:1 relation (example2) 79

   9.2.4.1 Uni-directional 79
 
   9.2.4.2 Bi-directional 80

  9.2.5 1:n (example 3) 81

  9.2.6 Uni-directional 81

  9.2.7 Uni-directional (other side) 83

    9.2.8 Bi-directional 84

  9.2.9 m:n (example 4) 85

   9.2.9.1 Uni-directional 85
   
   9.2.9.2 Bi-directional 86

  9.2.10 1:n:1 88

   9.2.10.1 Simple way 88

   9.2.10.2 Map-key-many-to-many (example5) 88

   9.2.10.3 Component 90

  9.2.11 Recursive relation (example6) 90

  9.2.12 Typed relation (example 12) 91

 9.3 Components = Composition mapping 92

  9.3.1 Composed class in one table (component1) 92
  
  9.3.2 Composition of many classes (component2) 93
  
  9.3.3 Composition as set of many classes (component3) 94
  
  9.3.4 Composition 1:n:1 (component4) 95
  
  9.3.5 Composite primary key (component5) 97

  9.3.6 Not included mappings 98

 9.4 Inheritance 98

  9.4.1 Polymorphism 98
  
  9.4.2 Choosing the mapping approach 99
  
  9.4.3 Class hierarchy in one table (example7) 101
  
  9.4.4 Class hierarchy with one table for each class (example8) 104
  
  9.4.5 Class hierarchy with one table for each class (example9) 106
  
  9.4.6 Mixing example7 and example9 110
  
  9.4.7 Class hierarchy with one table for each concrete class (example10) 110

  9.4.8 Class hierarchy with one table for each concrete class (example11) 112

 9.5 Other mappings 115

10 Session handling and Transactions 116

 10.1 Important Issuesthings 116

  10.1.1 Long transactions 117
  
  10.1.2 Short transaction and optimistic locking 117
  
   10.1.2.1 Open session when the dialogue is rendered 117
   
   10.1.2.2 Short session 118
   
   10.1.2.3 Disconnected session 118

  10.1.3 Version tracking 119

   10.1.3.1 Manual version tracking 119
   
   10.1.3.2 Version tracking with long session 120
   
   10.1.3.3 Version tracking with short session 120

 10.2 Session Factory 120

  10.2.1 Available options 120
  
  10.2.2 JDBCTransactionFactory 121
  
  10.2.3 JTATransactionFactory 122
  
  10.2.4 JBoss integration with Hibernate Service Bean 123

   10.2.4.1 JBoss Hibernate Service Bean 124

11 Working with Objects 128

 11.1 Inserting 128
 
 11.2 Updating 129

  11.2.1 Considerations 129
  
  11.2.2 Detached objects 129

   11.2.2.1 What is Reattaching? 129
   
   11.2.2.2 Reattaching 130
   
   11.2.2.3 Session.lock 130
   
   11.2.2.4 Session.update 131
   
   11.2.2.5 Session.saveOrUpdate. 131
   
   11.2.2.6 Session.merge 131
   
   11.2.2.7 Session.get 132

 11.3 Deleting 133

12 Best practices and DAO 135

 12.1 Data Access Objects DAO 135

 12.2 Weaving the application structure 136

  12.2.1 Paper book order 136
  
  12.2.2 eBook order 137
  
  12.2.3 Defining the application layers 137

   12.2.3.1 The Problem of reusing business logic 137
   
   12.2.3.2 Reattaching problems 138
   
   12.2.3.3 Simple use cases 139

  12.2.4 DAO and DaoFactory 140

  12.2.5 Creating DAOs with generics 140

   12.2.5.1 Dao Creation 140
   
   12.2.5.2 Using Daos 140

  12.2.6 Creating DAOs without generics 141

   12.2.6.1 Creating the Dao 141
   
   12.2.6.2 Using Daos 141

  12.2.7 Clever DAO 141

13 Querying Data 143

 13.1 HQL 143
 
 13.2 Criteria Queries 143
 
 13.3 Native SQL 143

14 Quick View 144

 14.1 Reattaching 144

15 Copyright and disclaimer 145
 

分享到:
评论

相关推荐

    hibernate学习笔记1

    【hibernate学习笔记1】 一、理解Hibernate Hibernate是一个流行的Java对象关系映射(ORM)框架,它的主要目的是简化数据库操作,通过将Java对象与数据库表进行映射,使得开发者能够以面向对象的方式处理数据,而...

    hibernate 学习笔记1

    ### 对象持久化与Hibernate学习笔记 #### 一、对象持久化的概念与重要性 - **定义**: 对象持久化是指将程序中的对象状态存储到持久化存储设备上的过程,以便在程序结束运行后仍然可以保留这些数据。 - **必要性**:...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    hibernate 学习笔记精要

    hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要

    hibernate学习笔记

    在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....

    Hibernate 学习笔记(全套)

    这套笔记是我学习Hibernate,进行相关技术点训练时记录下来的,其中包括技术点说明与相关事例,拿出来与大家分享。

    Hibernate学习笔记和资料

    hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...

    Java相关课程系列笔记之十四Hibernate学习笔记

    【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...

    hibernate学习笔记mashibing

    《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...

    Hibernate学习笔记与总结

    **Hibernate学习笔记与总结** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象数据的便捷方式。本文将深入探讨Hibernate的核心概念、配置、实体类、映射文件、...

    hibernate学习笔记,学习大纲【吐血推荐】

    **Hibernate学习笔记与大纲** Hibernate 是一款开源的Java语言下的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据,而无需过多关注底层的SQL语句。本笔记将深入...

    hibernate学习笔记第四天的源码

    **hibernate学习笔记第四天源码解析** 在hibernate学习的过程中,第四天通常会深入探讨实体类、映射文件、配置文件以及查询语言等方面的内容。这些是hibernate框架的基础,也是开发者掌握持久化操作的关键。让我们...

    hibernate学习笔记第二天的源码

    在深入探讨Hibernate学习笔记第二天的源码之前,我们先来理解一下Hibernate的核心概念。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转化为对象模型,大大简化了数据访问层的开发...

    hibernate学习笔记文档

    ### Hibernate 学习笔记知识点概览 #### 一、Hibernate 概述 - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,...

    hibernate API帮助文档 及hibernate学习笔记

    Hibernate是一款强大的Java持久...通过阅读这份“Hibernate API帮助文档”和“Hibernate学习笔记”,你将能够深入理解Hibernate的工作原理,掌握其API的使用,并能在实际项目中有效地利用Hibernate进行数据持久化操作。

    马士兵hibernate学习笔记(原版)

    《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作数据库,从而减少了传统...

Global site tag (gtag.js) - Google Analytics