我无法在我的代码中使用findOne()方法
2022-09-04 05:59:20
我的应用程序中有错误,因为我使用findOne()方法。在我的简单代码下面。在用户类中,我的id是字符串电子邮件,这是我试图在我的类UserService中使用的id,如下所示:
public User findUser(String email){
return userRepository.findOne(email);
}
但我有这个错误:
方法 findOne in interface org.springframework.data.repository.query.QueryByExampleExecutor 不能应用于给定的类型;
必需: org.springframework.data.domain.示例
已找到: java.lang.String
原因: 无法推断类型变量 (s) S (参数不匹配; java.lang.String 无法转换为 org.springframework.data.domain.example)
用户类:
@Entity
@Data
@Table(name = "User")
public class User {
@Id
@Email
@NotEmpty
@Column(unique = true)
private String email;
@NotEmpty
private String name;
@NotEmpty
@Size(min = 5)
private String password;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<Task> tasks;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "USER_ROLE", joinColumns = {
@JoinColumn(name = "USER_EMAIL", referencedColumnName = "email")
}, inverseJoinColumns = {@JoinColumn(name = "ROLE_NAME", referencedColumnName = "name")})
private List<Role> roles;
}
和用户存储库:
public interface UserRepository extends JpaRepository<User, String> {
}