gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:03:19 25 4
gpt4 key购买 nike

声明使用输入参数的属性作为查询参数的 Spring 数据 JPA 查询的最简单方法是什么?

例如,假设我有一个实体类:

public class Person {
@Id
private long id;

@Column
private String forename;

@Column
private String surname;
}

和另一个类(class):

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 参数上指定属性名称。

最好的选择是什么?

最佳答案

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

@Query("select u from User u where u.firstname = :#{#customer.firstname}")
List<User> findUsersByCustomersFirstname(@Param("customer") Customer customer);

https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions

关于具有参数属性的 Spring 数据 JPA 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com