读书人

hibernate的关联关系-一对一单向联系关

发布时间: 2012-09-06 10:37:01 作者: rapoo

hibernate的关联关系----一对一单向关联之主键关联

一对一单向关联:

husband 实体类:public class Husband implements Serializable{private Long id;private String name;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}wife实体类:public class Wife implements Serializable{private Long id;private String name;private Husband husband;public Husband getHusband() {return husband;}public void setHusband(Husband husband) {this.husband = husband;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

?

关联关系:

husband hbm:<hibernate-mapping><class name="com.model.o2o.pk.Husband" table="t_husband" schema="yang">    <id name="id" column="id">        <generator type="string">    <column name="name"/>    </property></class></hibernate-mapping>wife hbm:<hibernate-mapping><class name="com.model.o2o.pk.Wife" table="t_wife" schema="yang"><id name="id" type="java.lang.Long"><column name="ID" scale="0" /><generator /></id><property name="name" type="java.lang.String"><column name="name" not-null="true" /></property> <one-to-one name="husband" constrained="true"/></class></hibernate-mapping>

sql语句:?

?

drop table yang.t_husband cascade constraintsdrop table yang.t_wife cascade constraintsdrop sequence hibernate_sequencecreate table yang.t_husband (id number(19,0) not null, name varchar2(255 char), primary key (id))create table yang.t_wife (ID number(19,0) not null, name varchar2(255 char) not null, primary key (ID))alter table yang.t_wife add constraint FKCB648FFCB0454FF7 foreign key (ID) references yang.t_husbandcreate sequence hibernate_sequence?

这是hibernate一对一关联关系的一种--主键关联(它的一个明显的特征是使用 <one-to-one name="husband" constrained="true"/>):
也就是说根据该条sql语句生成的表之间存在一种潜在的关联关系:
alter table yang.t_wife add constraint FK37AF11B0454FF7 foreign key (ID) references yang.t_husband
说明t_husband表是主表,t_wife表是子表
它们之间的关系是主外键关系
只有当t_husband表中的id列有数据的时候,对应t_wife表中才能有相应的id列的数据?

读书人网 >软件架构设计

热点推荐