我需要在我的hibernate映射上设置fetch模式在某些情况下是急切的,在其他情况下是懒惰的.我的默认值(通过hbm文件设置)为lazy ="true".如何在代码中覆盖此设置?MyClass有一个MyClass2类型的集合,我想将FetchMode设置为EAGER.
目前,我有类似的东西:
Session s = HibernateUtil.getSessionFactory().openSession();
MyClass c = (MyClass)session.get(MyClass.class, myClassID);
Run Code Online (Sandbox Code Playgroud)
你可以尝试这样的事情:(代码离我头顶)
Criteria crit = session.createCriteria(MyClass.class);
crit.add(Restrictions.eq("id", myClassId));
crit.setFetchMode("myProperty", FetchMode.EAGER);
MyClass myThingy = (MyClass)crit.uniqueResult();
Run Code Online (Sandbox Code Playgroud)
我相信应该使用FetchMode.JOIN或FetchMode.SELECT而不是FetchMode.EAGER.
| 归档时间: |
|
| 查看次数: |
8575 次 |
| 最近记录: |