我希望每个getter方法都有一个JPA调用属性的实体,而不是直接字段访问。所以我使用@Access(AccessType.PROPERTY)
。到目前为止,一切都很好。但是当我使用引用属性指定NamedQuery
时,会显示以下编译器错误:
Multiple markers at this line
- The state field path 'u.password' cannot be resolved to a valid type.
- The state field path 'u.login' cannot be resolved to a valid type.#
代码是:
@Entity
@Access(AccessType.PROPERTY)
@NamedQuery(name="User.validateLogin", query="SELECT u FROM User u WHERE u.login = :login AND u.password = :password")
public class User implements Serializable {
有没有办法使用带有属性引用的查询将AccessType设置为PROPERTY AND ?
答案 0 :(得分:0)
我找到了答案。如果使用默认值(AccessType.FIELD
),则会自动执行一些操作(例如,您可以使用查询中的属性)。
如果您使用 AccessType.PROPERTY
,那么您必须在getter方法前设置Annoation @Basic
。