gpt4 book ai didi

java - 在 native Hibernate 中设置 FetchMode

转载 作者:搜寻专家 更新时间:2023-11-01 01:39:31 24 4
gpt4 key购买 nike

我需要将我的 hibernate 映射的获取模式设置为在某些情况下是急切的,而在其他情况下是惰性的。我的默认值(通过 hbm 文件设置)为 lazy="true"。如何在代码中覆盖此设置? MyClass 有一个类型为 MyClass2 的集合,我想将其 FetchMode 设置为 EAGER。

目前,我有类似的东西:

Session s = HibernateUtil.getSessionFactory().openSession();
MyClass c = (MyClass)session.get(MyClass.class, myClassID);

最佳答案

你可以尝试这样的事情:(代码脱离我的头脑)

Criteria crit = session.createCriteria(MyClass.class);
crit.add(Restrictions.eq("id", myClassId));
crit.setFetchMode("myProperty", FetchMode.EAGER);
MyClass myThingy = (MyClass)crit.uniqueResult();

不过,我认为应该使用 FetchMode.JOIN 或 FetchMode.SELECT 而不是 FetchMode.EAGER。

关于java - 在 native Hibernate 中设置 FetchMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/243409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com