我正在为一个项目在Hibernate中创建自定义UserType。这一过程相对简单,直到我遇到了isMutable方法。我试图弄清楚这个方法的合同意义。
这是指我为其创建UserType的类是不可变的,还是指持有对此类实例引用的对象永远不会指向不同的实例?
我在Hibernate社区Wiki中找到了一些示例,其中他们返回true,因为对象本身是可变的-http://www.hibernate.org/73.html。
社区维基中的其他示例返回false,但没有解释原因,即使它们也是可变的。
我已经检查了JavaDoc,但它也不是很清楚。
从UserType的JavaDoc中可以看出:
这是指我为其创建UserType的类是不可变的,还是指持有对此类实例引用的对象永远不会指向不同的实例?
我在Hibernate社区Wiki中找到了一些示例,其中他们返回true,因为对象本身是可变的-http://www.hibernate.org/73.html。
社区维基中的其他示例返回false,但没有解释原因,即使它们也是可变的。
我已经检查了JavaDoc,但它也不是很清楚。
从UserType的JavaDoc中可以看出:
public boolean isMutable()
Are objects of this type mutable?
Returns:
boolean
来自 Type 的 JavaDoc:
public boolean isMutable()
Are objects of this type mutable. (With respect to the referencing
object ... entities and collections are considered immutable because
they manage their own internal state.)
Returns:
boolean