Liferay 中遇到异常:org.hibernate.QueryException:无法解析属性

Pan*_*iya 3 liferay dynamicquery liferay-6

我在 service.xml 中定义了服务实体,如下所示:

<entity name="LoginData" local-service="true" remote-service="false"> <!-- PK fields --> <column name="userId" type="long" primary="true" /> <column name="loginDate" type="Date" primary="true" /> </entity>

我正在尝试使用 LocalServiceImpl 类中定义的dynamicQuery 来获取行。

DynamicQuery dynamicQuery=DynamicQueryFactoryUtil.forClass(LoginData.class); dynamicQuery.add(RestrictionsFactoryUtil.eq("userId", userId)); dynamicQuery.add(RestrictionsFactoryUtil.between("loginDate", startDate, endDate)); return (List<LoginData>)LoginDataLocalServiceUtil.dynamicQuery(dynamicQuery);

但上面代码的最后一行抛出异常

Caused by: org.hibernate.QueryException: could not resolve property: userId of: com.example.model.impl.LoginDataImpl

有人能告诉我这里出了什么问题吗?或者我错过了什么?

Dan*_*ish 5

您必须将其写为primaryKey.userId,因为您已将userid定义为主键,因此,hibernate期望userid带有primaryKey前缀。