具有参数属性的Spring数据JPA查询

声明使用输入参数的属性作为查询参数的Spring数据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数据/ JPA不喜欢我在?1参数上指定属性名称。

什么是最巧妙的选择?

回答:

该链接将为你提供帮助:支持SpEL表达式的Spring Data JPA M1。类似的例子是:

@Query("select u from User u where u.firstname = :#{#customer.firstname}")

List<User> findUsersByCustomersFirstname(@Param("customer") Customer customer);

以上是 具有参数属性的Spring数据JPA查询 的全部内容, 来源链接: utcz.com/qa/417005.html

回到顶部