我在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>
我正在尝试使用dynamicQuery获取行,就像在LocalServiceImpl类中定义的那样。
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
有人能告诉我这里出了什么问题吗?还是我错过了什么?
发布于 2014-06-21 17:45:04
您必须将它写成primaryKey.userId,因为您已经将userid定义为主键所以,hibernate期望用户it前缀带有primaryKey。
https://stackoverflow.com/questions/24342821
复制相似问题