【问题标题】:How to get only parent without children in Hibernate and without lazy exception?如何在休眠中获得只有没有孩子的父母并且没有懒惰的例外?
【发布时间】:2016-03-12 15:22:43
【问题描述】:

当您尝试在关闭会话后访问提交的孩子时,如何在 Hibernate 中获得没有孩子的唯一父母并且没有延迟异常?
我的意思是,一种纯粹的父获取,但我必须确定,有人不会使用 getter 获取它们,或者不会捕获惰性异常。

    <class name="com.electronic.commerce.models.Category" table="Category">
    <id name="id" type="long" access="property">
        <column name="categoryId" length="20"/>
        <generator class="native"/>
    </id>
    <property name="name" column="categoryName" type="string"/>
    <property name="parentId" column="categoryParentId" type="long"/>
    <bag name="children" table="Category" inverse="true" lazy="true" fetch="select">
        <key>
            <column name="categoryParentId" not-null="true"/>
        </key>
        <one-to-many class="com.electronic.commerce.models.Category"/>
    </bag>
</class>

【问题讨论】:

标签: java sql hibernate exception lazy-loading


【解决方案1】:

混合解决方案
xml:

<prop key="hibernate.enable_lazy_load_no_trans">false</prop>

Java:

DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition();
defaultTransactionDefinition.setPropagationBehavior(transactionDefinition);
transactionManager.getTransaction(defaultTransactionDefinition);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2015-12-18
    • 2014-07-21
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多