读书人

Hibernate基于外键的一对多单向联系关

发布时间: 2012-11-21 08:23:25 作者: rapoo

Hibernate基于外键的一对多单向关联

一对多,一个分类Category下有多个Product,从Cateogry角度去保存数据。

?

创建数据库脚本如下:(参看附件)

?

session.save(category);//启用级联操作session.save(product);session.save(product1);tx.commit();

?

而启用级联,则只需要保存category就行。

?

cascade取值如下:


all : 所有情况下均进行关联操作。
none:所有情况下均不进行关联操作。(默认值)
save-update:在执行save/update/saveOrUpdate时进行关联操作。
delete:在执行delete时进行关联操作。

?


请注意看一下sql,以Hibernate:开头的才是hibernate执行的sql,其他的代表发送给hibernate执行的sql语句。刚开始看错了,还以为hibernate执行了多条sql。

?

?

这种方法Hibernate reference称之为
基于外键关联的单向一对多关联是一种很少见的情况,并不推荐使用。


推荐使用:
基于连接表的单向一对多关联 应该优先被采用。请注意,通过指定unique="true",我们可以把多样性从多对多改变为一对多。

读书人网 >软件架构设计

热点推荐