0
我一直在使用項目的動態查詢。將strint轉換爲liferay動態查詢中的整數
這是我遇到的問題。
對於XYZ列version
表存儲爲varchar
(我知道這是一個糟糕的設計,但它現在已經太晚了改變),並具有值9,12
。
對於查詢:
select max(version)
from xyz
where something = 'abc';
我正在輸出的9代替12.
的動態查詢的相同是:
ClassLoader classLoader = PortletBeanLocatorUtil.getBeanLocator(ClpSerializer.getServletContextName()).getClassLoader();
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(xyz.class, classLoader);
dynamicQuery.setProjection(ProjectionFactoryUtil.max("version"));
dynamicQuery.add(PropertyFactoryUtil.forName("something").eq("abc"));
List<Object> list = xyzLocalServiceUtil.dynamicQuery(dynamicQuery);
即給予該查詢正確的值是:
select max(cast(version as signed))
from xyz
where something = 'abc';
現在,我希望它在動態查詢中,我該怎麼做?
我使用的Liferay-6.2-CE
這工作絕對是對我很好:)非常感謝:) –