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

hibernate3.2 (7)一对一关联映射

2012-09-10 
hibernate3.2 (七)一对一关联映射一个人只能有一个身份证号码。1对1单向关联,即单向引用,例如:person持有ca

hibernate3.2 (七)一对一关联映射

一个人只能有一个身份证号码。

1对1单向关联,即单向引用,例如:person持有cardid的引用。

1对1双向关联,即双向引用,互相持有对对方的引用。

1对1主键关联,主键关联主键,也就是说有一方主键不需要自己建立,而是引用了另一方的主键。

1对1外键关联。

?

一、单向一对一主键关联映射:

通常使用一个特定的id生成器:

这里的主键生成策略:

<id name="id">
<generator? unique="true"/>

?

?与多对一需要注意的问题一样,在save person对象之前,必须先save idCard对象,或者设置casecade = true。

?

public void testone2one_Save(){Session session = HibernateUtils.getSession();try {session.beginTransaction();IdCard idcCard = new IdCard();idcCard.setCardid("370211198606150012");Person person = new Person();person.setIdcCard(idcCard);person.setName("小明");session.save(person);session.getTransaction().commit();} catch (HibernateException e) {e.printStackTrace();session.getTransaction().rollback();}finally{HibernateUtils.closeSession(session);}}

?打印输出:

Hibernate: insert into IdCard (cardid) values (?)
Hibernate: insert into Person (name, idCard) values (?, ?)

?

双向一对一唯一外键关联映射、双向一对一主键关联映射用的不是很多,以后遇到再加以说明。

热点排行