如何最简单地声明一个使用输入参数属性作为查询参数的Spring data JPA查询?
例如,假设我有一个实体类:
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 Data / JPA不喜欢我在?1
参数上指定属性名称。
有什么更简洁的替代方案吗?
Name
不一定是实体。 - Kkkev