Hibernate或Grails - 需要帮助理解级联

时间:2010-07-14 16:19:20

标签: hibernate grails cascade

我是一名大学生,在Hibernate或Grails方面没有太多经验。我的主要问题主要是关于级联应用的位置,它是否仅适用于存在数据库条目的属性或其他方面?

所以例如,如果我有2个域A和B ......其中B具有充满A的hastable。如果我删除A,是否必须手动删除该特定A条目B中的哈希表条目?如果不是我应该设置什么行为才能删除它?

P.S。我的第一篇文章...如果没有足够的细节我会道歉,但我真的没有太多经验来正确描述我的问题..

2 个答案:

答案 0 :(得分:0)

对于一对多关系,默认策略是保存和更新。对于删除,您必须具有belongsTo子句。

有关以下文件中的详细信息,请参阅第5.2.1.2节

有关详细信息,请参阅http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html

答案 1 :(得分:0)

  

我的主要问题主要是关于级联应用的位置,它是否仅适用于存在数据库条目的属性或其他方面?

级联允许在实体之间沿着关联“传播”操作,如持久,合并,保存更新,...... 。因此,如果A与B有关联,则可以将在A到B上完成的操作级联。

  

例如,如果我有2个域A和B ...其中B具有用A填充的哈希表。如果我删除A,是否必须手动删除该特定A条目B中的哈希表条目?

正如我所说,级联是在一个协会中完成的。在这里,您描述了从B到A的关联,因此没有任何内容可以从A级联接到B.现在,如果此关联是双向的(即,如果您可以从A导航到B),那么您将能够级联操作A到B.

但是您需要了解级联不会影响内存内容本身,从集合中删除A必须由您完成。

另见