【发布时间】:2022-01-24 21:31:49
【问题描述】:
我使用 Service Builder 构建了一个 Liferay portlet,它有一个表。其中一个字段包含一个名为“ZValue”的双精度值。我需要在我的 -LocalServiceImpl.java 文件中添加一个公共方法,该方法将返回当前在“ZValue”字段中找到的最大值。 我希望有一个类似于 DynamicQuery 的 Liferay 类,它返回一个值。我知道我可以返回所有记录并自己循环遍历它们以获得最大值,但我确信有一种更简单的方法可以获得最大值。
我在搜索 stackoverflow 时发现的是:
DynamicQuery query = DynamicQueryFactoryUtil.forClass(classname);
query.setProjection(ProjectionFactoryUtil.max("ZValue"));
但我不明白如何实际返回值,因为 DynamicQuery 返回的是 list 而不是单个值。
【问题讨论】:
-
您可以编写两个动态查询,一个用于获取最大值字段,第二个用于获取字段最大值的所有行。
标签: liferay liferay-service-builder