Какой самый простой способ объявить запрос JPA данных Spring, который использует свойства входного параметра в качестве параметров запроса?
Например, предположим, у меня есть класс сущности:
public class Person {
@Id
private long id;
@Column
private String forename;
@Column
private String surname;
}
и другой класс:
public class Name {
private String forename;
private String surname;
[constructor and getters]
}
... тогда я хотел бы написать хранилище данных Spring следующим образом:
public interface PersonRepository extends CrudRepository<Person, Long> {
@Query("select p from Person p where p.forename = ?1.forename and p.surname = ?1.surname")
findByName(Name name);
}
... но Spring/JPA не нравится, когда я задаю имена свойств в параметре ?1
.
Какая самая приятная альтернатива?