有没有一种方法可以从自定义的Hibernate BasicType访问实体标识符。
我们的想法是使用实体标识符来计算这个基本类型,但为此,我需要从基本类型本身和BasicJavaDescriptor访问标识符。
有关具体示例,请参见下面的代码部分
public class MyType extends AbstractStandardBasicType<MyCustomType> {
@Override
public void nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SharedSessionContractImplementor session) throws HibernateException {
// how to access the entity identifier of the entity holding that field? Needed to compute the data of the custom type.
}
// other methods
}
public class MyDescriptor extends AbstractTypeDescriptor<MyCustomType> {
@Override
public <X> MyCustomType wrap(X value, WrapperOptions options) {
// how to access the entity identifier of the entity holding that field? Needed to compute the data of the custom type.
}
// other methods
}
Hibernate版本:5.6.15.Final
关于自定义类型的文档非常少。
在这个问题上,任何帮助都是受欢迎的。
1条答案
按热度按时间umuewwlo1#
我不明白你为什么要在这里扩展
AbstractStandardBasicType
。那不是扩展点。看起来你应该实现
UserType
。你要实现的方法之一是:owner
是拥有实体,它将包含id。