如何在 java Hibernate 中的整个应用程序中设置 FetchSize

How to SetFetchSize throughout application in java Hibernate

在我开发的 spring 应用程序中有 30 个 dao 类 考虑下面的代码

public void getBulkData(List<Integer> patients, Date start)
{
        Criteria criteria = getSession()
          .createCriteria(DafCondition.class, "condition")
          .createAlias("condition.patient", "dp")
          .setFetchSize(100000);
}

我在我的应用程序中有大约 30 个与此类似的 dao 类,我如何一次性为整个应用程序的所有条件设置 FetchSize(100000)?

谢谢

你说的设置值"in one go"背后的动机是什么? 是否纯粹从维护的角度来看,您想在一个地方更改值并在所有地方反映它?如果是,只需将值 100000 作为静态 class/interface 中的常量移动并在任何地方使用它。

您可以扩展 Session 并通过添加 fetchsize 覆盖 createCriteria 方法。