首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

一对一主键单向联系关系

2012-10-06 
一对一主键单向关联SQL:car_pk_single表的主键为engine_pk_single表主键的外键create table car_pk_single

一对一主键单向关联
SQL:car_pk_single表的主键为engine_pk_single表主键的外键

create table car_pk_single (      
    id number(10,0) not null,      
    name varchar2(15),      
    serial varchar2(30),      
    manufacturer varchar2(50),      
    producedate date,      
    primary key (id)      
);      
create table engine_pk_single (      
    id number(10,0) not null,      
    model varchar2(20),      
    manufacturer varchar2(50),      
    producedate date,      
    primary key (id)      
);      
alter table car_pk_single       
    add constraint fk_car_engine_pk_single       
    foreign key (id)       
    references engine_pk_single(id);    

POJO:Engine类和Car类都有对方的一个引用(以下为省略写法)

public class Car implements Serializable      
{      
private Engine engine;      
}      
public class Engine implements Serializable      
{      
//这里没有属性Car      
... ...      
}     



XML:    Car.hbm.xml     Engine.hbm.xml(以下为省略写法)

<hibernate-mapping package="com.allanlxf.hibernate.association.o2o.entity">  
  <class name="Car" table="car_pk_single" >  
    <id name="id" column="id" type="integer">  
      <generator />  
  </class>  
</hibernate-mapping>  
  
<hibernate-mapping package="com.allanlxf.hibernate.association.o2o.entity">  
  <class name="Engine" table="engine_pk_single" >  
    <id name="id" column="id" type="integer">  
      <generator ,再执行session.delete(car),则能级联删除engine

one-to-one主键单向关联映射总结: 需对有外键一方的xml文件设置constrained="true"。
若操作涉及到映射关系双方的数据,以操作有外键一方的对象为主(在有级联的情况下);
若操作只涉及到有外键的一方,则只操作这一方对象即可。

热点排行