2014-06-21 3 views
3

을 확인할 수 없습니다 나는 서비스 엔티티가 아래와 같이 service.xml에 정의 된 데 :: org.hibernate.QueryException : 부동산

<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

같은 예외가 발생? 또는 나는 무엇이든지 놓치고 있습니까?

답변

4

사용자 ID를 기본 키로 정의 했으므로 primaryKey.userId로 작성해야합니다. 따라서 hibernate는 primaryKey로 userid 접두사를 기대합니다.

+0

감사합니다 @ 덴마크어, 그것은 효과가있었습니다. 또한 loginDate에는 primaryKey가 접두어로 필요합니다. –