
Hibernate
iteye_3043
这个作者很懒,什么都没留下…
展开
-
session 用法
[code="java"] //java 中 session 的初始化 private Map session = ActionContext.getContext().getSession(); //hibernate中session的用法 //读取hibernate.cfg.xml文件 //Configuration 加载系统配置文件 Confi...原创 2011-01-07 15:31:45 · 108 阅读 · 0 评论 -
lazy策略
hibernate lazy策略可以使用在: * 标签上,可以取值:true/false * 标签上,可以取值:true/false需要类增强工具 * 标签上,可以取值:true/false/extra * 单端关联上,可以取值:false/proxy/noproxy lazy概念:只有真正...原创 2011-03-27 13:56:05 · 132 阅读 · 0 评论 -
继承映射
每棵继承树映射成一张表 1、理解如何映射 因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:1)父类用普通的标签定义、2) 在父类中定义一个discriminator,即指定这个区分的字段的名称...原创 2011-03-27 14:21:58 · 119 阅读 · 0 评论 -
component、composite、collection映射
1、component(组件)映射:在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,component可以成为是值对象(DDD) 采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高[code="java"]//model public class Contact { pri...原创 2011-03-28 08:55:18 · 385 阅读 · 0 评论 -
悲观锁、乐观锁
1、悲观锁(处理并行问题):悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改[code="java"]//model public class Inventory { private int itemNo; private String itemName; private int quantity; public int...原创 2011-03-28 09:05:19 · 113 阅读 · 0 评论 -
读取文件夹生成目录树
[code="java"]// model import java.util.Set; public class Node { // 标识符 private int id; // 节点名称 private String name; // 层次 private int level; // 是否叶子节点 private boolean leaf;...原创 2011-03-30 08:18:18 · 523 阅读 · 0 评论 -
hibernate查询语言(hql)
在hql中关键字不区分大小写,但是属性和实体类名区分大小写 1、简单属性查询【重要】 * 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致 * 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致 数组的长度取决与select中属性的个数 * 如果认为...原创 2011-03-30 08:57:25 · 123 阅读 · 0 评论 -
缓存(查询优化)
1)hibernate一级缓存:一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存 那些方法支持一级缓存: * get() * load() * iterate(查询实体对象) 如何管理一级缓存:(一级缓存无法取消) * session.clea...原创 2011-03-31 08:57:55 · 188 阅读 · 0 评论 -
抓取策略
1、hibernate抓取策略(单端代理的批量抓取)(抓取当前对象关联实体或集合):保持默认,同fetch="select",如:[code="java"][/code] fetch="select",另外发送一条select语句抓取当前对象关联实体或集合 2、hibernate抓取策略(单端代理的批量抓取):设置fetch="join",如: [code...原创 2011-03-31 09:41:07 · 151 阅读 · 0 评论 -
hibernate CoreAPI
[code="java"]// model import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import ja...原创 2011-04-14 09:22:06 · 176 阅读 · 0 评论 -
多对多关联映射
hibernate多对多关联映射(单向User---->Role) 具体映射方式:[code="java"] [/code][code="java"]import java.util.Set; public class User { private int id; private String name; private Set role...原创 2011-03-26 11:05:34 · 131 阅读 · 0 评论 -
一对多关联映射
hihernate一对多关联映射(单向Classes----->Student) 一对多关联映射利用了多对一关联映射原理 多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一(当加载多的一端时可以加载一的一端) 一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多(当加载一的一端时可以加载多的一端) 也就是说一对多和多对一的映射策略是...原创 2011-03-26 10:55:38 · 138 阅读 · 0 评论 -
java基础
使用equals函数 [code="java"]str.equals("30001")[/code] java包含main函数的类名前要加public\ java的方法要写在类中,通过类来访问[code="java"]public class Casting { public static ...原创 2011-02-17 09:09:51 · 64 阅读 · 0 评论 -
HQL(对象查询语言) 和 SQL(结构化查询语言)
1. 查询整个映射对象所有字段 [code="java"]//返回Student对象的集合,可以忽略select //from + 类对象名 List students = session.createQuery("from Student").list(); for (Iterator iter=students.iterator(); iter.hasNext();) { ...原创 2011-02-18 08:44:00 · 209 阅读 · 0 评论 -
get、load加载
junit简介: * 编写测试类xxxTest,需要继承TestCase * 编写单元测试方法,测试方法必须以test开头,测试方法不能含有参数和返回值,如:public void testHello1() {} * 最好单元测试的代码单独建立一个目录...原创 2011-03-24 08:30:24 · 111 阅读 · 0 评论 -
Hibernate基础
[code="java"]import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { //工具类,将对象生成表,将实体类生成数据库表 public static void main(String[] args) { ...原创 2011-03-24 08:34:57 · 92 阅读 · 0 评论 -
基本映射
hibernate基本映射 实体类---表 实体类中的普通属性---表字段 采用标签映射成数据库表,通过标签将普通属性映射成表字段 所谓普通属性指不包括自定义类、集合和数组等 注意:如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或column重新命名 实体类的设计原则: * 实现一个默认的(即无参数的...原创 2011-03-26 09:14:32 · 115 阅读 · 0 评论 -
多对一关联映射
hibernate多对一关联映射 关联映射的本质: * 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 会在多的一端加入一个外键,指向一的一端,这个外键是由 中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致 标签的定义示例: * 理解级联的含义? * 是对象的连锁操作[code="java"]//G...原创 2011-03-26 09:31:37 · 102 阅读 · 0 评论 -
一对一主键关联映射
hibernate一对一主键关联映射(单向关联Person---->IdCard) 一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段被创建 具体映射: [code="java"] idCard [/code][code="java"]public class Person { pri...原创 2011-03-26 10:02:02 · 143 阅读 · 0 评论 -
一对一唯一外键关联映射
hibernate一对一唯一外键关联映射(单向关联Person---->IdCard)(是多对一的特例,只是限制了多的一端) 一对唯一外键关联映射是多对一关联映射的特例 可以采用标签,指定多的一端的unique=true,这样就限制了多的一端的多重性为一 通过这种手段映射一对一唯一外键关联[code="java"]// annotation映射 import javax.persi...原创 2011-03-26 10:37:51 · 159 阅读 · 0 评论 -
session_flush
session flush测试: session flush方法主要做了两件事: * 清理缓存 * 执行sql session在什么情况下执行flush * 默认在事务提交时 * 显示的调用flush * 在执行查询前,如:iterate hibernate...原创 2011-03-26 10:46:17 · 96 阅读 · 0 评论 -
JAVA手动连接数据库
[code="java"]// jsp 0) { response.sendRedirect("registerFail.jsp"); psQuery.close(); conn.close(); return; } String sql = "insert into user1 values (1, ?, ?)"; PreparedSt...原创 2011-04-17 10:02:18 · 266 阅读 · 0 评论