【发布时间】:2014-08-06 21:52:44
【问题描述】:
我正在使用 Spring 数据和存储库。我创建了一个带有枚举类型字段的实体,我声明了@Enumerated(EnumType.STRING),但我不得不创建一个返回字符串的方法getAuthority。
@Entity
@Configurable
public class BaseAuthority implements GrantedAuthority {
@Enumerated(EnumType.STRING)
@Column(unique = true)
private AuthorityType authority;
@Override
public String getAuthority() {
return authority.toString();
}
}
枚举如下:
public enum AuthorityType {
REGISTEREDUSER, ADMINISTRATOR;
}
在实体的存储库中,我创建了一个按权限类型查找的操作:
@Repository
public interface BaseAuthorityRepository extends JpaRepository<BaseAuthority, Long> {
BaseAuthority findByAuthority(AuthorityType authority);
}
但是,我收到警告:
Parameter type (AuthorityType) does not match domain class
property definition (String). BaseAuthorityRepository.java
我曾经让操作接收 String 而不是 AuthorityType,但这会产生运行时异常。 我可以将字段权限的名称更改为 authorityType,但我不喜欢这样。
我做错了吗?如何删除警告?
【问题讨论】:
标签: spring enums spring-data