У меня есть модель Пользователь. Есть поле, которое является контактным, и это не первичный ключ. Как я могу получить данные, используя этот ключ? это уникальный ключ.
Это моя модель.
@Entity
@Table(name = "tbl_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id")
long userId;
@Column(name = "name")
String name;
@Column(name = "email")
String email;
@Column(name = "contact")
String contact;
@Column(name = "category")
String category;
public long getUserId() {
return userId;
}
public void setUserId(long userId) {
this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public User() {
}
}
Это метод внутри сервисного уровня.
public User getUserByContact(String contact) {
Optional<User> result = userRepository.findByContact(contact);
User user = result.get();
return user;
}
Это хранилище.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("select u from User u where u.contact = ?1")
User findByContact(String contact);
}
Я получаю сообщение об ошибке «выберите пользователя из пользовательского u, где u.contact =? 1» в этой части в разделе «Пользователь», и в нем говорится «невозможно разрешить символ пользователя». Буду признателен за любую помощь.