文章 2016-03-05 来自:开发者社区

hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系

  前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hibernate还提供了注解方式配置映射文件,非常灵活,减少了配置文件的冗余,虽然维护起来相对比较麻烦,但是的确很方便开发.现在开发中(据说)也越来越流行使用注解,这里贴一个使用注解开发的小例子.....

文章 2016-03-04 来自:开发者社区

hibernate笔记--继承映射关系的三种实现方式

单表继承映射(一张表):   假设我们现在有三个类,关系如下:             Person类有两个子类Student和Teacher,并且子类都具有自己独有的属性.这种实体关系在hibernate中可以使用单表的继承映射来建表,最后生成的表是这样的:   可以看到我们只需要建立一张表就可以维护这个关系,这种方式就是单表继承映射,下面介绍配...

文章 2016-03-04 来自:开发者社区

hibernate笔记--单(双)向的多对多映射关系

  在讲单向的多对多的映射关系的案例时,我们假设我们有两张表,一张角色表Role,一张权限表Function,我们知道一个角色或者说一个用户,可能有多个操作权限,而一种操作权限同时被多个用户所拥有,假如我们我们的需求是能通过角色获取到其所拥有的操作权限,这就构成了单项的多对多的映射关系,为了管理这个关系,已经不能再通过添加外键列,必须在建立一张关系表,专门负责角色和权限之间的关系映射,如下: .....

文章 2016-03-03 来自:开发者社区

hibernate笔记--基于主键的单(双)向的一对一映射关系

  上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这个外键列,而与idCard表共用一个主键,或者说是其外键为主键的表结构,这种基于主键的双向一对一映射关系应该这样配置: 新建一个IdCard实体类: public class IdCard {.....

文章 2016-03-03 来自:开发者社区

hibernate笔记--基于外键的单(双)向的一对一映射关系

  假设我们有两张表,人员信息表Person,和身份信息表IdCard,我们知道每个人只有一个身份证号,所以这里的Person和IdCard表是一一对应的,也就是一对一的映射关系,基于外键的单向一对一映射关系,只需要在单向多对一的映射关系的多的一端的配置文件的<many-to-one>标签中添加一个unique="true",这里介绍双向一对一映射关系的配置方法: 新建一个Perso....

文章 2016-03-03 来自:开发者社区

hibernate笔记--双向一对多映射方法

  前两节写了两个例子,分别是单向多对一的映射和单向一对多的映射,这一节继续以这个例子讲一下双向一对多的映射方法,如下图所示:   很多时候,我们既想从一对端获取多对端的信息,又想从多对端获取一对端的数据,这就是需要双向一对多的映射关系,这也是最常见的表与表的映射关系,在hibernate中应当这样配置: 新建Studnet实体类: public class Student { pr...

文章 2016-03-03 来自:开发者社区

hibernate笔记--单向一对多映射方法

  上一篇讲的是单向多对一的表关系,与单向一对多的关系正好相反,如下图所示关系: ,可以看出年级表和学生表是一对多的关系,一条年级信息对应多条学生信息,在hibernate中成为单向的一对多的映射关系,应该这些操作:   新建Student实体类: public class Student { private int id; private String name; ...

文章 2016-03-02 来自:开发者社区

hibernate笔记--单向多对一映射方法

  假设我们要建两张表,学生信息表(student)和年级信息表(grade),关系是这样的:   我们可以看出学生表和=年级表是多对一的关系,多个学生会隶属于一个班级,这种关系在hibernate中成为单边的多对一的关系,需要这样配置: 新建实体类Grade: public class Grade { private int id; private String name...

文章 2016-03-02 来自:开发者社区

hibernate笔记--组件映射方法

  假设我们需要保存学生student的信息,student中有一个address属性,我们知道像这种信息其值可能会有多个,就像一个人会有两个以上的手机号,这种情况在hibernate中应该这样配置: 新建一个Address类,我们假设每个学生最多能保存3个地址: public class Address { private String addr1; private Str...

文章 2016-03-02 来自:开发者社区

hibernate笔记--组合主键映射方法

  一个数据库表中其主键有可能不止一个属性,同样映射到实体类中,可能有两个或多个属性共同配置成为一个主键,假设一个实体类Score,其主键有两个属性stuId(学生编号)和subjectId(科目编号),在hibernate环境下应该这样配置: 新建一个实体类ScoreId,属性为stuId,和subjectId,该类需要实现serializable接口(最好重写equals方法和hashcod....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注