![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
yxwang0615
这个作者很懒,什么都没留下…
展开
-
hibernate tools 及 插件的扩展安装
一、hibernate tools 及 很多eclipse插件的下载地址: http://www.jboss.org/tools/download/stable/3_1_GA.html 二、插件的安装方式: 1.直接安装: 将插件中包含的 plugins 和 features 文件夹直接复制到 eclipse 的 plugins 和 features 文件夹中,重启eclipse。...原创 2011-05-06 11:51:56 · 115 阅读 · 0 评论 -
lazy 策略
lazy可以用在class、property、集合、one-to-one、many-to-one标签上。 1. class标签:可以取值lazy ="true/false" ,hibernate3.x以上默认true。 2. property标签:true/false,需要类增强工具,用的不多。 3. set、list标签:true/false/extra 4. one-to-one...原创 2011-03-24 17:16:16 · 129 阅读 · 0 评论 -
hibernate3.2(九)多对多关联映射
多对多关联映射通常采用第三方表,这张表存储了他们之间的关联关系。 一、单向多对多关联映射: 用户和角色属于多对对关系,一个用户可以拥有多个角色,一个角色也可以属于多个用户。 public class User { private int userid; private String username; private Set roles; getter and s...原创 2011-03-24 14:43:58 · 77 阅读 · 0 评论 -
hibernate3.2(八)一对多关联映射
在数据库设计方面,一对多关系关联和多对一关联关系是一样的,都是在多的一方维护关联关系,即在多的一方添加一个外键指向一的那一端(一般指向的是主键),我们不能在一的一方添加集合表示多的一方,这样也不符合数据库的设计范式。 数据库对应的实体类的关联关系的设计: 假设A关联B,A对B有依赖关系,就在A的一方添加对B的引用(即在A中添加一个关联字段关联B)。关联关系的命名一般都是把被依赖的一方放在...原创 2011-03-23 17:35:43 · 85 阅读 · 0 评论 -
session flush() evict()
evict方法是从当前缓存中移除某个持久化实例. flush作用是将数据库与缓存中的数据同步. 当flush后,这个持久化实例没有从缓存中移除,除非调用evict或者session.close(); 在一个session线程中,如果存在多个insert,update,delete操作。Habernate会先把insert批量操作,然后是update,然后是delete。而不是按照我们代...原创 2011-03-23 16:38:41 · 136 阅读 · 0 评论 -
hibernate3.2 (七)一对一关联映射
一个人只能有一个身份证号码。 1对1单向关联,即单向引用,例如:person持有cardid的引用。 1对1双向关联,即双向引用,互相持有对对方的引用。 1对1主键关联,主键关联主键,也就是说有一方主键不需要自己建立,而是引用了另一方的主键。 1对1外键关联。 一、单向一对一主键关联映射: 通常使用一个特定的id生成器: <?xml version="1.0"?> ...原创 2011-03-22 17:42:17 · 87 阅读 · 0 评论 -
hibernate3.2(六)多对一关联映射
多个用户对应一个组,要在用户中体现出多对一,所以用户中要private Group group public class User { private int id;//给实体一个唯一性的标识 private String name; private Group group; getter and setter... } <...原创 2011-03-22 16:36:07 · 67 阅读 · 0 评论 -
Baseic O/R Mapping 常用标签备忘
id:被映射的类必须定义对应数据库表主键字段。大多数类有一个JavaBeans风格的属性, 为每一个实例包含唯一的标识。<id> 元素定义了该属性到数据库表主键字段的映射。 id标签必须在property标签之前完成。 generator:可选的<generator>子元素是一个Java类的名字, 用来为该持久化类的实例生成唯一的标识。 常用的有identity(自增s...原创 2011-03-22 14:10:59 · 145 阅读 · 0 评论 -
hibernate3.2 (五)Query初步
query主要支持HQL(Hibernian查询语言,是查询对象的)。 query用来查询对象的条目,与get和load方法不同的是,get和load必须知道对象的id才能查询,相当于sql的findxxById方法。 public void testQuery(){ Session session = HibernateUtils.getSession(); try { ...原创 2011-03-22 09:12:52 · 113 阅读 · 0 评论 -
HibernateUtils
由于SessionFactory是线程安全的,在hibernate中对应数据库,而且SessionFactory的创建过程是重量级的,创建比较耗时,通常只创建一次。所以用HibernateUtils类封装了SessionFactory: package com.wyx.hibernate; import org.hibernate.HibernateException; import o...原创 2011-03-20 21:56:08 · 69 阅读 · 0 评论 -
Hibernate3.2(四)生命周期示例、CRUD操作、Junit 3单元测试
抽时间 总结junit3和junit4的相关测试方法 ,junit4采用的是annotations junit3 命名规范: 测试类 xxxTest 测试方法void testxxx() ,方法中可以用断言assertEquals(expected, actual). 测试类需要继承TestCase , 在工程中新建一个source folder,在其中建好包,包名最好和要测的类所在的包一样...原创 2011-03-20 17:10:12 · 94 阅读 · 0 评论 -
Hibernate3.2(三)Hibernate 对象的生命周期
Hibernate 持久化对象的生命周期(lifecycle): 1. transient Objects(瞬时对象) 使用new操作符初始化的对象不是立即就持久的。他们的状态时瞬时的,也就是说它们没有任何跟数据库表相关联的 行为。只要应用不再引用这些对象(不再被任何其他对象所引用),他们的状态就会丢失,并由垃圾回收机制回收。 2. Persistent Objects...原创 2011-03-20 15:51:04 · 88 阅读 · 0 评论 -
Hibernate3.2(二)Hibernate Session
关于session的参考 hibernate 采用session作CRUD的操作,这个session不同于web中的session。 在java中连接数据库是依赖java.sql.Connection,在Hibernate session就是Connection的一层高级封装,一个 session对应了一个Connection,要实现延迟加载必须有session才行,session中还包...原创 2011-03-20 15:49:10 · 84 阅读 · 0 评论 -
hibernate3.2(一)第一个hibernate程序
:roll: 步骤: 1.创建一个java project; 2.创建User Libraries,加入如下jar: * hibernate-3.2/Hibernate3.jar(核心jar) * hibernate-3.2/lib/下的全部jar * MySql jdbc驱动 注意:创建User Library 的时候不要点[System library]的对勾....原创 2011-03-18 20:35:20 · 72 阅读 · 0 评论 -
hibernate3.2简介
时间关系,这里留下几个关键词供以后再整理用: hibernate [img]http://dl.iteye.com/upload/picture/pic/84359/4e1af7a4-7f7d-3cb4-a2a8-80beb852fc0a.bmp[/img] 只关心对象不需要关心关系型的数据库,操纵对象就是间接操作数据库。建立对象模型 > 写好映射文件 > 自动生成表轻量级框架、透...原创 2011-03-18 19:49:08 · 478 阅读 · 0 评论 -
hibernate3.2 (十)HQL查询
hibernate 语言查询(hibernate query language)HQL; HQL用面向对象的方式生成SQL 1. 以类和属性来代替表和数据列; 2. 支持多台; 3. 支持各种关联; 4.HQL支持多有的关系型数据库操作。 5.连接、投影、聚合、排序、子查询、SQL函数。 hql语言中关键字不区分大小写,实体类名和属性名区分大小写; 1、简单属性查...原创 2011-03-25 10:52:07 · 145 阅读 · 0 评论