具有参数属性的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