在Hibernate中加入UserType

在这种情况下,能否使休眠状态以“正确”的某个值来执行“正确的事情”?

from ClassA a, ClassB b

where a.prop = b.prop

问题是prop是联接表中具有不同表示形式的UserType。在表A中,它表示为整数,在表B中,它表示为char。因此,eq测试转换为看是否1 ==’a’或多或少,这是错误的,但由1或’a’表示的对象应该相同,因此它们应该比较为true。

回答:

我认为您可以使用<formula>映射文件中关系上的标记来执行此操作。

例如:

<many-to-one name="myClassB" class="ClassB">

<formula>--Some SQL Expression that converts between ClassA.prop and ClassB.prop</formula>

</many-to-one>

我用它来关联两个表,其中一个使用整数,但将其关联到另一个表中的char字段。这可能不完全是您想要的,但是也许它将使您走上正确的轨道。

以上是 在Hibernate中加入UserType 的全部内容, 来源链接: utcz.com/qa/409858.html

回到顶部