注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释. 接下来我们讲解一下一对一的注解配置: 上一篇文档已经详细解说了各个注解的含义和作用,在这里就不详细说明了,直接使用了. 1.创建两个实体类(Student类和IdCard类) Student类 package cn.onetoone.entity; import java…
在上次的博文Hibernate从入门到精通(五)一对一单向关联映射中我们讲解了一下一对一单向关联映射, 这次我们继续讲解一下与之对应的一对一双向关联映射. 一对一双向关联 与一对一单向关联映 射所不同的的是在一对一双向关联中,不但在一个对象(Person)中存在另一个对象(IdCard)的引用,而在另一 个对象(IdCard)中也存在对该对象(Person)的引用,这样即可以在加载该对象(Person)的时候找到另一个对象 (IdCard),也可以在加载另一个对象(IdCard)的时候找到该对象…
关系映射是指对象之间的关系,并不是指数据库的关系,关系映射是解决当对象处于以下关系之一时,数据库表该如何映射的问题 (一)一对一单向外键关联 1.注解方式配置 创建一个Husband类和Wife类 Husband类:(getWife方法上加注解OneToOne) package cn.orlion.hibernate.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import ja…
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释. 接下来我们讲解一下多对一双向注解: 我以部门表和员工表作为示例讲解. 第一步:创建实体类 Dept(部门表) package cn.onetomanydouble.entity; import org.hibernate.annotations.*; import org…
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释. 接下来讲解多对多双向注解: 我以用户和房子作为示例讲解. 第一步:准备实体类 House(房间表) package cn.manytomany.entity; import javax.persistence.*; import java.util.HashSet; im…
一对一双向外键 1,主控方的配置同一对一单向外键关联. 2,@OneToOne(mappedBy="card") //被控方 @OneToOne(mappedBy="card") //mappedBy所对应的是主控方外键属性的值. 双向关联,必须设置mappedBy属性,因为双向关联只能交给一方去控制,不可能在双方都设置外键保存关联关系,否则双方都无法保存. 主控方类代码不用修改: package oto_bfk; import java.util.Date; im…
建表语句: DROP TABLE IF EXISTS `t_company`; CREATE TABLE `t_company` ( `companyId` ) unsigned NOT NULL AUTO_INCREMENT, `companyName` ) NOT NULL, PRIMARY KEY (`companyId`) ) ENGINE DEFAULT CHARSET=gb2312; ', 'Sun'); ', 'Apache'); DROP TABLE IF EXISTS `t_e…
Hibernate中用注解配置一对多双向关联和多对一单向关联 Hibernate提供了Hibernate Annotations扩展包,使用注解完成映射.在Hibernate3.3之前,需单独下载注解开发包 配置持久化类 配置关联关系 下面我们先从多对一单向关联关系讲起,多对一单向关联就是在多的一方植入一的一方的主键作为外键,下面我们先进行初始配置, 在配置的过程中我们会遇到一个问题  就是无论用load还是get都不会出现延迟加载,那么我们应该如何设置为要延迟加载,这样做的好处是可以在用的时候…
通过Hibernate注解Annotations进行对象映射,想在Oracle数据库中自动创建表,代码如下: 实体类: import javax.persistence.Basic;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;@Entitypublic class…
一对一双向外键关联:双方都持有对方的外键关联关系. 主控方和一对一单向外键关联的情况是一样的,主要的差异表现为,被空方需要添加: @OneToOne(mappedBy="card") //被控方 主控方必须交给其中的一方去控制,因为不可以双方都同时拥有控制对方的权利,假如是这样的话是没有办法保存成功的.这就是为什么需要指定mappenBy="card"的原因. 1.IdCard.java实体类: package oto_bfk; import javax.persi…