hibernate
guilai0018
这个作者很懒,什么都没留下…
展开
-
hibernate入门(一)
一 第一个应用实例1.搭建环境:新建一个名为HibernateDemo的java工程,并导入Hibernate的jar包,特别要注意除了导入lib下的jar包还需导入hibernate3.jar核心jar包。 由于涉及数据库操作,还应导入mysql驱动包。2.简述Hibernate的作用:ORM:Object Relational Mapping,对象关系映射。将java程序中的对象自动持...2009-10-03 04:48:20 · 90 阅读 · 0 评论 -
hiberante入门(十七):简要总结及源码文档
十三、总结:1.主配置与实体(映射)配置:关于这些配置,可以从网上搜到很多,当然最好的方式是从官方获取hibernate的参考手册,来细细研读这些配置,其实许多常用的配置在前面已基本有所提及,所以再来查看hibernate手册时会比较容易,至于一些不常用的配置,建议只做了解,在真正使用时再去细看。2.使用最佳实践:在官方推出的手册中,给出了最佳实践,其中提到了许多思想和建议。我们应...2009-10-17 17:04:25 · 81 阅读 · 0 评论 -
hiberante入门(十六):一些细节理论
十二、一些细节问题分析1.实体配置文件中的类型问题:在前面的多个实例中配置<property>映射类型时,我们都采取的是hibernate默认的配置,即是说没有在<property>中配置type属性:其实基本类型一般不需要映射文件中配置,只有在一个java类型与多个数据库类型相对应时,交且我们不希望使用默认的配置才会用type来指明类型。举例:java.util....2009-10-17 17:03:47 · 88 阅读 · 0 评论 -
hiberante入门(十五):事务相关-悲观乐观锁
1.事务引发的三层架构MVC讨论:在前面的程序代码中多次用到了事务:Transaction tx = s.beginTransaction(); 对应的jdbc代码:connection. setAutoCommit(false);..........数据处理.....tx.commit(); 对应的jdbc代码:connection.commi...2009-10-17 17:02:55 · 209 阅读 · 0 评论 -
hiberante入门(十四):缓存
1.模拟缓存并简要说明缓存实现原理在myhibernate项目下新建一个包com.asm.hibernate.test.cacheTest来说明与缓存有关的问题。首先看下面的一个模拟缓存程序,主要代码如下:package com.asm.hibernate.test.cacheTest;public class CacheSimulate { static Map cache = ...2009-10-17 17:01:43 · 102 阅读 · 0 评论 -
hiberante入门(十三):懒加载
4.懒加载:在前面我们已经对懒加载有所提及,现在再借助一个简单的实例(它们均位于lazyLoad项目下)再来重新认识懒加载:先看下面的代码:package com.asm.hibernate.test;public class UserTest2 { public static void main(String[] args) { addUser(); User u =...2009-10-17 17:01:01 · 119 阅读 · 0 评论 -
hiberante入门(十二):继承关系
3.继承关系:在前面的部门员工实例中,我们设定的员工只是普通的员工,现在假如有Sale和Skill两类员工,它们作为Employee的子类。如何实现这些子类的映射?为了方便以后的操作说明和不影响以前的操作,我们把前面用到的员工部门类及相关实体配置文件,主配置文件等拷贝到一个新的项目theExtend下进行操作。(1)共享一张表:意思是我们把子类的当作父类来处理共同映射成一张表。&g...2009-10-17 17:00:14 · 115 阅读 · 0 评论 -
hibernate入门(十一):级联操作inversin属性
九、关联关系中的高级应用 1.级联操作:在前面的一对多操作中已经有所体现,现在回到前面的一对多操作中,进行一些修改,修改内容如下:Set<Employee> emps = new HashSet<Employee>();emps.add(emp1);emps.add(emp2);depart.setEmps(emps);去掉这段注释,并把“s.sav...2009-10-17 16:59:50 · 98 阅读 · 0 评论 -
hiberante入门(十):其它集合类型
八、其它集合类型说明:在前面我们已经使用过set集合类型,其实除了set外,在Hibernate中还有list、Bag、Map这三种集合类型。1. list集合的使用:在前面的“一对多的关系”,已经使用过<set>,为了保存以前的操作,现重建一个名为“TheCollectionMapping”的新项目,把以前的“一对多关系”中用到的相关内容复制到此项目下即可。但有几点...2009-10-17 16:58:58 · 99 阅读 · 0 评论 -
hibernate入门(九):组件关系映射
5.组件关系映射:典型实例:每个人有不同的名字,或者多个人可以是同一个名字,对于这种现象可以是“一个一”或者“多对一”,这样会被设计成两张表来映射,而我们采用组件关系来映射就可以在一张表中映射实现。具体过程如下:>>步骤一、编写实体文件Name.java 和People.java Name.java内容如下: 省略getXXX和setXXX()package com.a...2009-10-06 13:02:58 · 82 阅读 · 0 评论 -
hibernate入门(八):多对多
4.多对多关系映射:典型实例:一个学生可以有多个老师,同样一个老师可以有多个学生,对此设计如下:学生studnet表:columnidnameteachers老师teacher表:columnidnamestudnets在利用学生查到他所有的老师,我们一般会设计...2009-10-03 12:38:55 · 80 阅读 · 0 评论 -
hibernate入门(七):一对一
3.一对一关系映射:典型的实例:一个人有一个身份证,而一个身份证只属于某一个人。以此为模型实现一对一关系的映射。下面的实例先以主键进行关联:主键关联:从表的主键同时又作为外键参考主表的主键。比如在下面的实例中,人作为主表,身份证作为从表。>>步骤一,建立Person类及相关的实体配置文件。package com.asm.hibernate.domain;p...2009-10-03 12:33:36 · 134 阅读 · 0 评论 -
hibernate入门(六):一对多
2.一对多关系映射:上面提到的多个员工对应于一个部门,是多对一的关系,如果一个部门有多个员工,则用“一对多”的关系来表示这个关系,现接上例继续,以实现一对多的关系映射。具体操作步骤如下:>>步骤一,在Department.java中增加如下内容:private Set<Employee> emps; 及相应的get/set方法。>>步骤二,修改Dep...2009-10-03 05:21:52 · 74 阅读 · 0 评论 -
hibernate入门(五):多对一
七 关联关系讨论 1.多对一关系映射:一个部门有可以有多个员工,而一个员工只属于一个部门。从员工角度看,很多员工会隶属一个部门。 现以实例说明,实例概要:一个部门类,只有id和部门名称两个属性。有一个员工类,有id和员工名称及部门对象三个属性。操作步骤如下:>>步骤一,建立Depatment.java及实体配置文件: package co...2009-10-03 05:19:46 · 85 阅读 · 0 评论 -
hibernate入门(四):HQL QBC初步
五 完善工具类及HQL QBC初步相关1.无聊的讨论:在前面我们写了一个工具类:HibernateUtil。其实我们还可以把CRUD操作封装到这个工具类中,并把它们都做成静态的,这样这个工具类就可以直接调用了。但是这样的操作对查询数据可能不是很好,因为它的查询方式很多,除非我们一一考虑这些可能涉及到查询方式,并能以重载的形式进行统一管理。其实我也试想过把这此数据库操作方法进行二次封装,在工具类...2009-10-03 05:08:16 · 148 阅读 · 0 评论 -
hibernate入门(三):对象的三种状态
三 Session中的主要方法1.保存数据:save,presist 说明:这两种方法的主要区别主要体现在未开启事务时。save方法如果是没开启事务,会执行相关sql语句,随后再回滚。而presist根本就不执行这些sql语句。2.删除对象:delete3.更新数据:update 说明,如果数据库中没有记录将会出现异常4.查找数据:get,立刻访问数据库 load,返回的是代理,...2009-10-03 05:06:51 · 106 阅读 · 0 评论 -
hibernate入门(二):优化代码
二 优化代码1.为会么要优化在前面我们已经知道,获取SessionFactory对象是一个重复的过程。因此我们可以把这个操作写成一Util类。下面我们把这一步写成工具类HibernateUtil,内容如下: package com.asm.hibernate.utils;import org.hibernate.Session;import org.hibernate...2009-10-03 04:58:14 · 91 阅读 · 0 评论 -
原创hibernate入门笔记[共计46页]
第三次分享自己的原创笔记,希望大家多多指正, 我会努力改进。 第一次spring原创笔记下载地址:http://www.iteye.com/topic/656253 第二次struts1.x原创笔记下载地址:http://www.iteye.com/topic/658173 提醒各位同学:此word 文档编排了目录,可以在文档结构图下很方便地查看...2010-05-05 16:04:58 · 89 阅读 · 0 评论