I am creating a custom UserType in Hibernate for a project. It has been relatively straightforward until I came to the isMutable method. I am trying to figure out what this method means, contract-wise.
Does it mean the class I am creating the UserType for is immutable or does it mean the object that holds a reference to an instance of this class will never point to a different instance?
I found some examples in the Hibernate Community Wiki where they returned true, because the object itself was mutable - http://www.hibernate.org/73.html.
Other examples in the community wiki returned false without addressing why, even though they were also mutable.
I have checked the JavaDoc, but it's not very clear either.
From the JavaDoc for UserType:
public boolean isMutable()
Are objects of this type mutable?
Returns:
boolean
From JavaDoc for Type:
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