当字段改变时,如何在Hibernate中抛出异常?

时间:2015-03-03 19:54:01

标签: java hibernate

我想以某种方式将我的bean中的某些字段表示为Immutable,这样如果尝试保存与数据库中的值不同的值,则会抛出异常。

据我所知,在映射文件中,我可以设置mutable =“false”,但这不会像我希望的那样抛出异常。

2 个答案:

答案 0 :(得分:1)

看起来像Hibernate Interceptor正是我所需要的。

答案 1 :(得分:0)

您可以将Hibernate注释从getter / setter移动到字段。然后,您可以在setter中实现所需的任何检查,而不会影响Hibernate。例如,

@Column("foo_column")
private String foo;

public void setFoo(String foo) {
    if (this.foo != null)
        throw new YourException("cannot change foo");
    this.foo = foo;
}