gpt4 book ai didi

java - 带有嵌套字段的Spring数据查询(连接其他列)

转载 作者:行者123 更新时间:2023-12-02 10:49:53 25 4
gpt4 key购买 nike

我有 3 个实体主题文本作者

主题 1:n 文本和文本 1:n 作者

我的实体看起来像这样:

@Entity
public class Topic {
@Id
private int id;
private LocalDate date;
private String name;
@JoinColumn(name = "text_id", nullable = false)
private Text text;
}

@Entity
public class Text {
@Id
private int id;
private LocalDate date;
private String name;
private String description;
@JoinColumn(name = "author_id", nullable = false)
private Author author;
}

public class Author{
@Id
private int id;
private String name;
private String description;
}

现在我尝试创建 spring data jpa 查询来获取特定作者的日期之间的主题。

仅解决作品之间的日期的解决方案:

List<Topic> findByDateBetween(LocalDate begin, LocalDate end);

我尝试过这样的事情:

List<Topic> findByDateBetween_AuthorId(LocalDate begin, LocalDate end, int authorId);
List<Topic> findByDateBetweenAuthorId(LocalDate begin, LocalDate end, int authorId);
List<Topic> findByDateBetweenAuthor_id(LocalDate begin, LocalDate end, int authorId);

没有任何作用。有什么建议吗?

最佳答案

在主题的 JPA 存储库中,您可以编写自定义查询。

@Query("SELECT t FROM Topic t" +
"JOIN t.text tx " +
"JOIN tx.author a " +
"WHERE a.id = :authorId AND t.date >= :begin AND t.date <= :end")
List<Topic> getTopicsInDatesByAuthor(@Param("begin") LocalDate begin, @Param("end") LocalDate end, @Param("authorId") int authorId);

关于java - 带有嵌套字段的Spring数据查询(连接其他列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52256964/

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