Вы можете это исправить:
я ошибка в приложении, потому что я использую метод findOne (). Ниже мой простой код. В классе User мой идентификатор - это String email, и я пытаюсь использовать его в своем классе UserService следующим образом:
public User findUser(String email){
return userRepository.findOne(email);
}
но у меня есть эта ошибка:
метод findOne в интерфейсе org.springframework.data.repository.query.QueryByExampleExecutor нельзя применить к данным типам;
требуется: org.springframework.data.domain.Example
найдено: java.lang.String
причина: невозможно определить переменные типа (ов) 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;
}
и UserRepository:
public interface UserRepository extends JpaRepository<User, String> {
}