3

以下のように、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

誰かがここで何が悪いのか教えてもらえますか? または、何か不足していますか?

4

1 に答える 1

4

ユーザー ID をプライマリ キーとして定義したため、primaryKey.userId として記述する必要があります。そのため、hibernate は primaryKey を持つユーザー ID プレフィックスを期待します。

于 2014-06-21T17:45:04.170 に答える