Java 正在查找针对可变对象的Hibernate用户类型方法的详细说明

Java 正在查找针对可变对象的Hibernate用户类型方法的详细说明,java,database,hibernate,orm,hibernate-mapping,Java,Database,Hibernate,Orm,Hibernate Mapping,我正在Hibernate中创建一个自定义UserType类。具体案例是HL7v3临床文档(我在health IT工作)。它是一个可变对象,关于Hibernate用户类型接口的大多数文档似乎都以不可变类型为中心。我希望更好地了解如何以及何时使用接口方法,具体如下: 汇编-为什么有两个参数(一个可序列化,一个对象)?这种方法的用例是什么 反汇编-我是否应该实现此方法以返回可序列化的表单(例如字符串表示)?何时以及如何调用此方法 等于-这是更新吗?阅读争论?肮脏的阅读?在大多数情况下,简单地返回fal

我正在Hibernate中创建一个自定义UserType类。具体案例是HL7v3临床文档(我在health IT工作)。它是一个可变对象,关于Hibernate用户类型接口的大多数文档似乎都以不可变类型为中心。我希望更好地了解如何以及何时使用接口方法,具体如下:

汇编-为什么有两个参数(一个可序列化,一个对象)?这种方法的用例是什么

反汇编-我是否应该实现此方法以返回可序列化的表单(例如字符串表示)?何时以及如何调用此方法

等于-这是更新吗?阅读争论?肮脏的阅读?在大多数情况下,简单地返回false会产生什么后果

replace-我真的不明白这三个对象参数来自哪里,何时调用这个方法,Hibernate期望返回什么,或者返回值是如何使用的


任何指点都将不胜感激。我已经搜索并阅读了所有我能找到的关于这个主题的东西,但是我还没有找到太多的文档来解释这些方法是如何用于可变对象的。

这篇博客文章是我找到的关于正确编写自定义用户类型的最好解释:

如果有帮助的话,我可以提到我正在将HL7v3临床文档RIM类型映射到数据库XML列。逻辑相等不一定意味着序列化形式相等。序列化表单是一个XML字符串。您正在阅读此API,对吗?对,这就是API。没有解释何时使用equals或Assembly中参数的用途(例如)。我希望对我的实现有更多的信心,所以我想确切地知道每种方法的使用时间和方式。