JPA 1.0 ファセットを有効にして、Rational Software Architect 8.0.4 で構成しました。IDを除くほとんどすべてのエンティティクラスを自動生成します。そのため、手動で追加します。ACCESS_AUTHORIZATION テーブルと 1 対多の関係を持つ単純なテーブル APP_USER をクエリしようとしています。構成とエンティティ クラスについては、以下を参照してください。
単純な名前付きクエリを実行しようとすると、
SELECT a.accessAuthorizationVs, a.empName, a.userCnum FROM AppUserEntity a WHERE a.userCnum = :userCnum
例外をスローします
**org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter "SELECT a.accessAuthorizationVs, a.empName, a.userCnum FROM AppUserEntity a WHERE a.userCnum = :userCnum". Error message: No field named "accessAuthorizationVs" in class "class com.xxx.xxx.xxx.services.integration.entity.AppUserEntity".**
at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(AbstractExpressionBuilder.java:118)
at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.traversePath(AbstractExpressionBuilder.java:284)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getPath(JPQLExpressionBuilder.java:1382)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getPathOrConstant(JPQLExpressionBuilder.java:1337)
私のpersistence.xmlのスナップショットは次のとおりです。
ここで私が間違っていることを誰かが教えてくれますか? その名前のフィールドは、エンティティ クラスで明確に定義されています。また、クラスが強化されていないという以前のエラーがあったため、[これに続いて]クラスを強化する必要があったことにも言及したいと思います。