gpt4 book ai didi

java - 当实体之间没有关系映射时,在 JPA 中连接两个表

转载 作者:行者123 更新时间:2023-11-30 04:15:28 25 4
gpt4 key购买 nike

我有一个用户实体和一个宠物实体。用户和宠物之间不存在@OneToMany、@ManyToMany 或其他关系。原因是每个用户可能有数千只宠物(至少在这个例子中)。由于我不想急切加载它(太慢)并且我不想延迟加载(导致延迟初始化异常......而且我不想使用在 View 过滤器中打开),所以我在具有这样名称的用户存储库(原因是我希望有机会仅返回关系属性的子集。我不想要用户的所有宠物:

getPetsForUser(最终用户用户){...}。我在 JPA 中看到的联接示例显然在实体上使用了关系属性。我如何在 JPA 中执行此操作?

在 SQL 中我只会使用外键...

最佳答案

您必须显式使用外键,可能是从 User 对象(我猜是 User.getId())中提取它,然后使用它作为 Pet 上的原始 long 或等效字段 - 没有外键完整性、级联或基于查询的联接。

您最好重新检查为什么延迟加载工作是一件坏事,以及 JPA 是否是正确的方法。

关于java - 当实体之间没有关系映射时,在 JPA 中连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516846/

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