Hibernate mutable 属性分析

 

1、在class中声明mutable=”false” 或 @Immutable

这意味着对该类的更新将会被忽略,不过不会抛出异常,只允许有增加和删除操作。

在class中声明mutable=”false”:insert=允许,delete=允许,update=不允许

2、在集合中声明mutable=”false” 或 @Immutable

这意味着在这个集合中插入记录或删除孤行是不允许的,否则会抛出异常。只允许更新操作。不过,如果启用级联删除的话,当父类被删除时,其所有子类也将被删除,即使它是mutable的。

在集合中声明mutable=”false”:insert=不允许,孤行删除=不允许,delete=允许,update=允许

 

完全地immutable?

一个类能对任何action都完全地immutable吗?是的,对它所有的关系都设mutable=”false”(insert=not allow,delete-orphan=not allow),以及对想要immutable(update=not allow)设置mutable=”false”。现在,我们需要一个完全地immutable类,不过,如果级联删除选项被启用,当声明为immutable的类的父类被删除时,该immutable类仍将一样被删除。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值