gpt4 book ai didi

java - 通过 @embeddedID 的 "query creation"方法构建 Spring Data JPA 查询

转载 作者:行者123 更新时间:2023-12-02 03:41:23 26 4
gpt4 key购买 nike

我正在努力寻找有关如何查询模型中更复杂属性的任何类型的文档。

例如我有

public class MyEmbedded{
@EmbeddedID
private MyEmbeddedPK embeddedPK;
}

@Embeddable
public class MyEmbeddedPK{

private Integer age;

private Integer zip;
}

在我的存储库中,我正在实现 CrudRepository 并希望能够做到

public List<MyEmbedded> findByageAndZip(String age, String zip);

但这似乎不起作用。该文档并没有真正说明有关 @EmbeddedId 的任何内容。查询 @OneToMany 属性也是如此,我从未找到任何相关内容。

我正在引用的文档。 http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

是否有关于此查询创建如何工作的更好文档?

最佳答案

我不确定 Spring Data Jpa 是否支持此功能,并且基于嵌入的 id 属性进行查询似乎有点复杂,因为它同样适用于封闭实体本身的状态字段。但这可以通过 JP QL 通过 Query 指定来轻松实现。和@Param

@Query("SELECT m FROM MyEmbedded m WHERE m.embeddedPK.age = :age AND m.embeddedPK.zip = :zip")
public List<MyEmbedded> findByageAndZip(@Param("age") String age, @Param("zip") String zip);

另外,不要忘记使用以下签名指定您的存储库,因为 Spring 数据运行时需要知道 ID 类的实际类型。

@Repository
public interface MyEmbeddedRepository extends CrudRepository<MyEmbedded, MyEmbeddedPK> {..}

关于java - 通过 @embeddedID 的 "query creation"方法构建 Spring Data JPA 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36803442/

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