【问题标题】:How can i get value from ManyToMany table?如何从 ManyToMany 表中获取价值?
【发布时间】:2020-05-16 06:06:00
【问题描述】:

我有两个班级:Child 和 Guardian

在 Guardian 类中,我有该字段:

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "guardian_child", schema = "schema",
        joinColumns = @JoinColumn(name = "guardianid"),
        inverseJoinColumns = @JoinColumn(name = "childid"))
private List<Child> children = new ArrayList<>();

我的 Postgres 中有表 Guardian_child。现在我需要通过监护人的身份来获取所有孩子吗?我需要为此表创建特殊实体和存储库吗?或者我该怎么做?

【问题讨论】:

  • 如果您只需要 id,为什么不使用普通查询?
  • 这能回答你的问题吗? Many-to-Many query jpql
  • 如何在控制器的方法体中使用普通查询?
  • 如何调用这个内部方法?
  • 您可以@Autowire EntityManager,并显式运行您想要的查询,即entityManager.createQuery(&lt;your JPQL query&gt;)。另外,看看这篇关于如何在 JPA 中建模多对多关系的文章:baeldung.com/jpa-many-to-many

标签: java spring spring-boot


【解决方案1】:

您可以使用这样的 JPQL 查询获取数据:@Query(SELECT g FROM Guardian JOIN g.children c)... 如果它不起作用,请再次告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-14
    • 2021-06-20
    • 2020-08-11
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多