很抱歉.有两天没更新博客文章,不要写文章一天真的感觉很是空的啊.制定一个写作习惯,想改也改不掉啊.说点题外话,前两天我收到一封私人信件给朋友,我写邀请函的文章OWS文章.一种技术用于研究图标工具,这位朋友的邀请,可是由于这几天开发的项目着急上线所以临时没有时间去研究.仅仅能等这周末了,利用周末的时间来研究然后更新类似的技术文章. 回到文章的正题,上篇文章讨论了双向主键关联,它事实上是一对一主键关联的一种特殊情况.想要实现双向的关联就必须在映射文件的两端同一时候配置<one-to-one>,另外…
一.hibernate中一对一映射有两种 1 主键方式,一张表的主键是通过另一张表的主键生成的 2 外键方式,一张表添加外键引用另一张表的主键,并添加唯一unique约束 二.下面进行简单例子,用户和身份证 建表 CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, uname VARCHAR() NOT NULL); CREATE TABLE idcard( id INT PRIMARY KEY AUTO_INCREMENT, addr V…
一.hibernate的一对一按照外键映射 1.创建如下sql脚本: --员工账号表 create table USERS1 ( USERID ) not null, USERNAME ), USERPASS ) ) ; --档案表 create table RESUME1 ( RESID ) not null, RESUSERID ), RESNAME ), RESCARDNO ) ) ; alter table USERS1 add constraint PK_USERS1_USERID p…
一.创建Java工程,新建Lib文件夹,加入Hibernate和数据库(如MySql.Oracle.SqlServer等)的Jar包,创建 hibernate.cfg.xml 文件,并配置,配置项如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration D…
1.比如在权限管理中,角色和权限之间的关系就是多对多的关系,表结构为: 2.类结构 Role.java public class Role implements Serializable{ private int id; private String name; private Set<Permission> permissions=new HashSet<Permission>(); public Role() { } public Role(String name) { sup…
一.创建数据库表 --班级表 create table grade ( gid number primary key, --班级ID gname ), --班级名称 gdesc ) --班级介绍 ); --学生表 create table student ( sid number primary key, --主键ID学生ID sname ), --学生姓名 sex ), --学生性别 gid number references grade(gid) ---外键班级ID ); --学生证表 cr…
前几篇文章具体讨论了对象模型到关系模型的转化方法,对映射关系做了具体的了解,Hibernate将对象模型转化为对应的关系模型是通过使用对应的映射来完毕的(相同也能够使用注解),对于对象之间的关系的转化则是通过使用对应的标签来实现的,对象模型的关系多样性,决定了关系模型的多样性,本文将会对关系映射做总结,使用关系导图来记忆这些标签的用法. 一.映射大杂烩 Hibernate通过使用不同的标签实现了对象模型向关系模型的转化过程,可是Hibernate提供了多种映射标签,各种标签通过绘制导图,汇总例如…
上一篇博客我们介绍了一对一的单向关联映射,单向是指只能从人(Person)这端加载身份证端(IdCard),但是反过来,不能从身份证端加载人得信息.如图所示: 关键原因在于对象模型具有方向性: 单向:一端只能加载另一端,不能反过来. 双向:两端都可以加载另一端. 问题来了:如何我们想从身份证端(IdCard)加载人(Person),怎么办呢? 下面我们开始介绍一对一的双向关联映射. 映射原理 双向关联映射与单向关联映射的原理是一样的,双向关联映射并不影响存储,只影响加载.所以,双向关联映射和单向…
关键原因在于对象模型具有方向性: 单向:一端只能加载另一端,不能反过来. 双向:两端都可以加载另一端. 问题来了:如何我们想从身份证端(IdCard)加载人(Person),怎么办呢? 下面我们开始介绍一对一的双向关联映射. 映射原理 双向关联映射与单向关联映射的原理是一样的,双向关联映射并不影响存储,只影响加载.所以,双向关联映射和单向关联映射的关系模型是一样的即数据库的表结构是一样的,只是IdCard的实体类和配置文件(IdCard.hbm.xml)发生了一点点变化. 对象模型 从上图中可以…
简介 在上一篇博客说了一下多对一映射,这里再说一下一对一关联映射,这种例子在生活中很常见,比如一个人的信息和他的身份证是一对一.又如一夫一妻制等等. 记得在Java编程思想上第一句话是“一切皆对象”,生活中的所有事物都是对象,这种一一对应的关系也体现在了对象上,但是在对象上有了些区别这和对象的特性有关系,有了方向性,拿人和身份证来说他们是两个对象,如果是单一方向那么知道了人的信息就能知道身份证信息,相反却得不到. 从实现角度来分也可以分为两种情况,第一种是共享主键:第二种是唯一外键:这两种都很好…