hibernate
文章平均质量分 66
奇
这个作者很懒,什么都没留下…
展开
-
三种对象关系
1 上一个 project2 三种状态的区分关键在于a) 有没有IDb) ID在数据库中有没有c) 在内存中有没有(session缓存)3 三种状态:a) transient:内存中一个对象,没ID,缓存中也没有b) persistent:内存原创 2013-02-08 10:27:21 · 420 阅读 · 0 评论 -
fetch
管 读取的用的地方和cascade一样级联读取mappedBy="person",cascade={CascadeType.ALL},fetch=FetchType.EAGER 除了eager还有个lazylazy相当于懒加载一样,在关闭session前访问person里的car,那car就会取出来,不访问,不取eager就是直接在得到person的时候,把属于pers原创 2013-02-17 17:43:30 · 165 阅读 · 0 评论 -
关联关系中的CRUD_Cascade_Fetch
1 hibernate_1700_one2many_many2one_bi_crud2 设定cascade以设定在持久化时对于关联对象的操作(CUD,R归Fetch管)3 cascade仅仅是帮我们省了编程的麻烦而已,不要把它的作用看的太大a) Cascade的属性是数组格式,指明做什么操作的时候关联对象是绑在一起的b)原创 2013-02-18 09:38:22 · 219 阅读 · 0 评论 -
cascade 级联
manytoone onetoone这些里有个cascade属性,放cascadetype数组,要引入进来import javax.persistence.CascadeType; 接着@ManyToOne(cascade={CascadeType.ALL})@JoinColumn(name="teacherId")public Set getSet() { return s原创 2013-02-17 15:52:14 · 292 阅读 · 0 评论 -
many2many 单向
@Entitypublic class Student { private int id; private String name; public Student() { super(); // TODO Auto-generated constructor stub } @Id @GeneratedValue public int getId() { return i原创 2013-02-17 14:47:39 · 202 阅读 · 0 评论 -
many2many 双向
首先annotation@Entitypublic class Student { private int id; private String name; private Set teachers=new HashSet(); @ManyToMany(mappedBy="students") public Set getTeachers() { return teache原创 2013-02-17 14:59:30 · 332 阅读 · 0 评论 -
缓存
1 一级缓存和二级缓存和査询缓存(面试题)(详见hibernate_3000_Hibernate_3KindsOf_Cache)a) 什么是缓存b) 什么是一级缓存,session级别的缓存c) I什么是二级缓存,SessionFactory级别的缓存,可以跨越session存在 i.原创 2013-02-19 10:07:49 · 188 阅读 · 0 评论 -
hql(1)
@Entitypublic class One {private int id;private String value;private Set twos=new HashSet();@Id@GeneratedValuepublic int getId() { return id;}public void setId(int id) { this.id = id;}pub原创 2013-02-18 16:15:56 · 201 阅读 · 0 评论 -
树状结构的设计
在同—个类中使用One2Many和Many20ne @Entitypublic class Person {private int id;private String name;private Set down_persons = new HashSet();private Person boss;@Id@GeneratedValuepublic int getId() {原创 2013-02-18 11:24:02 · 251 阅读 · 0 评论 -
事务并发处理
a) 事务:ACID i. Atomic ConsistencyItegrity Durabilityb) 事务并发时可能出现的问题:第一类丢失更新(Lost Update) 时间取款事务A存款事务BT1开始事务原创 2013-02-19 11:41:34 · 224 阅读 · 0 评论 -
qbc:query by Criteria
@Test public void test8(){ one(); session.beginTransaction(); Criteria c=session.createCriteria(Two.class); c.add(Restrictions.gt("id",2)); List twos=(List)c.list(); for(Object o:twos){原创 2013-02-18 17:19:16 · 198 阅读 · 0 评论 -
核心幵发接口介绍
Configurationa) AnnotationConfigurationb) 进行配置信息的管理c) 用来产生SessionFactoryd) 可以在configure方法中指定hibernate配置文件e) 只气关注一个方法即:buildSessionFactory2 SessoinFac原创 2013-02-08 10:26:07 · 207 阅读 · 0 评论 -
hibernate日志管理
先把相关的log4j和slf4j的包导入再接着在hibernate源文档里hibernate-distribution-3.3.2.GA\project\etc里的log4j.properties文件复制到工程的src上在运行hibernate的test时,会输出日志原创 2013-02-08 10:21:49 · 215 阅读 · 0 评论 -
联合主键映射
联合主键a) 项目名称:hibernate_1000_one2one_uni_fk_compositeb) @JoinColumns首先写个联合主键类package com.sl.ys.one2one;public class WifePK{private int wife_id;private String wife_name;。。。。g原创 2013-02-08 10:29:40 · 272 阅读 · 0 评论 -
one2many单向关联
在一的一方存在多方的集合 a) xml:先写student的hbm.xml<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.原创 2013-02-08 11:55:57 · 367 阅读 · 0 评论 -
many2one单向关联
一个老师对应多个学生annotation:@Many2One先student类@Entity@Table(name="t_student")public class student {private int id;private String name;private teacher t_teacher;@Idpublic int getId() { return id原创 2013-02-08 11:37:06 · 472 阅读 · 0 评论 -
hibernate helloworld(xml)
首先导入相关的hibernate 包和 mysql的包 接着设置映射类public class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNa原创 2013-02-08 10:19:10 · 213 阅读 · 0 评论 -
hbm2ddl.auto
当运行hibernate,不想自己创建数据库中的表时,只需要在hibernate.cfg.xml配置:xml version='1.0' encoding='UTF-8'?> "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hi原创 2013-02-08 10:20:50 · 207 阅读 · 0 评论 -
组件映射
1 项目:hibernate_1100_component2 对象关系:一个对象是另外一个对象的一部分3 数据库表:一张表4 annotation: @ Embeddable @Embbeded先写wife类public class Wife {private int wife_id;private String wi原创 2013-02-08 11:10:34 · 180 阅读 · 0 评论 -
hibernate hellowold(annotation)
annotation形式的helloworld首先要导入 hibernate annotation相关的包接着teacher类标识号注解参数package com.qi.pojo;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@En原创 2013-02-08 10:20:01 · 214 阅读 · 0 评论 -
Hibernate基础配置
字段名和属性相同a) 不用写@column与默认的@Basic效果一样b) Xml中不用写 column2 字段名和属性名不同a) Annotation: @Column@Column(name="***")public String getName() { return name;}public原创 2013-02-08 10:23:05 · 188 阅读 · 0 评论 -
ID生成策略
注意:a) 我们观察hibernate生成表的结构并不是为了将来就用它生成,(可能还有自己的扩展,比如index等)而是为了明白我们应该建立什么样的表和实体类映射2 xml生成ida) generator native">b) 常用四个:native identity sequence u原创 2013-02-08 10:24:08 · 524 阅读 · 0 评论 -
one2one
一对一关联1 一对一单向外键关联a) 项目名称:hibernate_0600_one2one_uni_fkb) Annotation: 在被约束表字段的get方法上加@0ne20ne @JoinColumn例如:首先class wife package com.sl.ys;import javax.persistence.En原创 2013-02-08 10:28:47 · 243 阅读 · 0 评论 -
加密
原创 2013-03-11 10:47:54 · 374 阅读 · 0 评论