Hibernate
文章平均质量分 84
進擊的胖蛇
热爱技术,努力减脂的呆萌胖子一枚
展开
-
hibernate学习笔记1--------窥探hibernate
ssh的复习进入了数据层的学习hibernate.哎!!!正所谓:雁过留声,人过留影。欢迎大家留言交流指正一、引入:模型不匹配(阻抗不匹配):关系模型与对象模型不匹配java面向对象语言:对象模型:其主要概念:继承、关联、多态等;数据库的是关系模型:其主要概念:表、主键、外键等解决办法:1.使用jdbc手工转换。2.使用ORM(object Relati原创 2013-05-19 06:44:16 · 4113 阅读 · 2 评论 -
hibernate学习笔记16--一对一实现懒加载
一对一的懒加载分析:test.java还是使用先前那个Person和IdCard的一对一例子例子[java] view plaincopyprint?import hibernate.HibernateUtil; import java.util.Date; import org.hibernate.Hibernate; import org.原创 2013-06-05 21:40:40 · 1888 阅读 · 0 评论 -
学习笔记14--继承关系_整个继承树映射
一、第一种设计:员工类、销售人员类、技术人员类三个类数据(属性)放在一张表中为了区分各类,添加一个type(类型)字段,在hibernate中映射文件里有个叫鉴别器与之对应。设置鉴别器和discriminator-value的值,以表示不同类型SQL> desc employee;Name Type Nullable Default Comments原创 2013-06-04 22:23:37 · 1031 阅读 · 0 评论 -
hibernate学习笔记13--级联设置
Hibernate的缺省设置是不支持级联操作的。在缺省行为时,对于两对象关联的属性,如果不做特殊处理(手动save),或者文件配置,hibernate是不予保存的,只会报错。如:public class Department { private int id; private String name; private Setemps; 报错如下:Hibernate原创 2013-06-03 11:26:06 · 11785 阅读 · 0 评论 -
hibernate学习笔记12--Hibernate中使用的集合类型
关联关系总结:如何考虑hibernate处理对象之间的关联关系的底层细节时,可以从两方面进行思考(1)如何将对象之间的关联关系保存到数据库中(2)如何检索出关联的对象(主语句要看sql)(映射文件id缺省的情况下)一对一:1条sql多对一或是一对多:2条sql多对多:3条sql对象集合使用类的一部分单个属性,来取代一对多(比如只要员工类的名字)一、set特性原创 2013-06-02 16:03:23 · 8766 阅读 · 0 评论 -
Hibernate学习笔记10--关联关系之多对多
多对多(student--teacher)步骤:(1)根据student中的id找寻techaer_student表与之student_id相等的teacher_id(2)再根据teacher_id到teacher表中查询相应的数据hibernate会根据配置映射文件自动生成一个中间表techaer_student关联表中teacher_id\ student_id均为主键原创 2013-05-30 21:15:41 · 1091 阅读 · 0 评论 -
Hibernate学习笔记11--组件关联关系的映射与原理分析
例子如下:假如name不是String是一个类,这样user和name的映射关系可以为多对一或是一对一,此时是将数据user和那么分别保存到两张表中。假设Name这个数据太小,小到可以不用物理表保存数据,此时就不用考虑一对一和多对一,此时是将数据user和那么分别保存到一张表中。下面精华都在映射文件中:当两个对象有关联,(1)希望数据分别保存俩表的(多对一) (原创 2013-05-31 06:27:23 · 899 阅读 · 0 评论 -
Hibernate学习笔记9--关联关系之一对一
关联关系之一对一(Person--IdCard)一、第一种实现方式(主键关联):一对一关系(Person-idCard):分成主对象和从对象(主从关系)Person主对象(更重要一些),idCard从对象让person的id等于idCard的id,所以id既是主键又是外键废话不多说,上代码Person.javapackage cn.itcast.domain;原创 2013-05-28 06:38:00 · 1013 阅读 · 0 评论 -
Hibernate学习笔记7--关联关系之多对一
关系映射.多对一(Employee-Department)1.建表示在员工表中添加一个外键表示Employee-Department之间的多对一的关系,可以在Employee中建一个departid字段。缺点:想知道部门信息还得现查一遍解决:是在Employee类中建一个Department类型的成员变量,这才体现出面向对象的感觉分析:hibernate不是单纯的把co原创 2013-05-25 23:17:56 · 2028 阅读 · 0 评论 -
Hibernate知识清单1--Hibernate 中oracle 主键的自动生成办法
Hibernate 中oracle 主键的自动生成办法1:uuid.hex: 采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库 。在*.hbm.XML中按如下设置。 2:指定参数的情况 SEQ_CHILD 3:以下是Tracylau 所写,网址如下:http://fo转载 2013-05-12 08:53:39 · 1113 阅读 · 0 评论 -
Hibernate学习笔记8--关联关系之一对多
关联关系:一对多(Department-Employee) 前言:从部门的角度来考虑这个问题,就是一对多了~,一个部门对多个员工。一、类中实现一对多的关联:在Department创建一个Employee的集合关系模型:主外键,和上一章一样没什么变化。Department类代码如下:在Department创建一个Employee的集合package cn.itca原创 2013-05-26 08:37:12 · 795 阅读 · 0 评论 -
hibernate学习笔记4---HQL、通用方法的抽取实现
一、通用方法的抽取实现由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码。具体例子如下:package cn.itcast.hibernate;import java.io.Serializable;import org.hibernate.Session;import org.h原创 2013-05-22 10:07:26 · 3917 阅读 · 0 评论 -
hibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页
一、实体类或属性名与数据库关键字冲突问题1、实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"原创 2013-05-22 21:00:58 · 6606 阅读 · 0 评论 -
hibernate学习笔记2--对简单例子的代码的解释与简单优化(规范)
一、开发流程:1.由Domain object ->mapping->db.(官方推荐)2.由DB开始,用工具生成mapping和Domain object。(使用较多)3.由映射文件开始。二、Domain object的限制1.默认的构造方法(无参构造,如果没有明确书写,java会使用缺省的默认构造方法。)(必须的)2.有无意义的标示符id(主键)(可选)3.非fin原创 2013-05-19 22:29:09 · 925 阅读 · 0 评论 -
hibernate学习笔记3----hibernate中的session接口介绍
session:beginTransaction():开启事务就像初始化的数据库连接、语句对象clear():清楚session中的缓存close():关闭session,关闭数据库连接connection():拿到数据库中session中的封装的connection,建议不要使用,因为hibernate中对于连接其实已经做了优化的contains():判断返回元素对象的d原创 2013-05-20 06:08:49 · 1255 阅读 · 0 评论