gpt4 book ai didi

spring - 在 spring jparepository 中加入多个表

转载 作者:行者123 更新时间:2023-12-02 06:24:50 25 4
gpt4 key购买 nike

我正在尝试通过连接来获取记录。我是 spring jparepository 的新手。我知道每个实体(表)都有单独的存储库,当我实现时,我需要定义主键的实体和数据类型。

有人可以建议我如何通过连接两个表来获取记录吗?

我有两个存储库,如下:

public interface AEntityRepository extends JpaRepository<AEntity, Integer>

public interface BEntityRepository extends JpaRepository<BEntity, Integer>

我想加入以上两个实体(AEntity,BEntity)。我知道我可以使用如下所示的自定义查询:

@Query("SELECT ****** FROM AEntity ae")
AEntity findCustomrRecords();

但是我可以用 join 编写相同类型的查询(连接查询)。我是否需要有一个单独的存储库来实现其他类。

任何人都可以帮忙吗?

我正在使用mysql。

最佳答案

I understand that there is separate repository for each entity(table)

这是一个非常常见的误解。您不希望每个实体都有一个存储库,而是每个聚合根都有一个存储库。请参阅http://static.olivergierke.de/lectures/ddd-and-spring/

关于您手头的具体问题:在存储库界面中创建自定义方法并使用 JPQL 对其进行注释应该可以解决问题。所以你会得到类似的东西:

@Query("select a from BEntity b join b.a a where b.foo = :foo")
AEntity getAllFooishAs(String foo);

您可以使用任何 join syntax JPQL offers在查询中。

关于spring - 在 spring jparepository 中加入多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43273118/

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