プロジェクトの Hibernate でカスタム UserType を作成しています。isMutable メソッドにたどり着くまでは、比較的簡単でした。私は、この方法が契約上何を意味するのかを理解しようとしています。
UserType を作成しているクラスが不変であることを意味するのでしょうか、それとも、このクラスのインスタンスへの参照を保持するオブジェクトが別のインスタンスを決して指さないことを意味するのでしょうか?
オブジェクト自体が変更可能だったため、 Hibernate Community Wikiで true を返した例をいくつか見つけました- http://www.hibernate.org/73.html。
コミュニティ wiki の他の例は、変更可能であるにも関わらず、理由を説明せずに 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