在本地Hibernate中设置FetchMode

我需要在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。

以上是 在本地Hibernate中设置FetchMode 的全部内容, 来源链接: utcz.com/qa/399706.html

回到顶部