您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何通过HQL延迟加载一对一合成

如何通过HQL延迟加载一对一合成

我已经解决了这个问题。

我所做的就是创建将字段EntityA#propertyB转换为名称为EntityA#propertyBs的Set的方法。但是我保留了EntityA#getPropertyB()和EntityA#setPropertyB(EntityB propertyB)访问器方法

这些访问器方法方法主体现在如下所示:

public EntityB getPropertyB() {
    return CollectionUtils.get(propertyBs, 0);
}

public void setPropertyBs(EntityB propertyB) {
    propertyBs= Collections.singleton(propertyB);
}

然后在我的映射中,我映射了集合EntityA#propertyBs并指定对“字段”的访问。

<set name="scheduledAdInfos" lazy="true" fetch="subselect" access="field" cascade="none" inverse="true">
    <key column="pk_a"/>
    <one-to-many class="EntityB"/>
</set>

使用此设置,您现在可以创建从拥有的POJO(EntityA)到拥有的POJO(EntityB)的惰性映射,即使TABLE_B由TABLE_B拥有也是如此。

其他 2022/1/1 18:13:49 有549人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶