gpt4 book ai didi

java - 命名查询和继承

转载 作者:搜寻专家 更新时间:2023-11-01 03:08:31 24 4
gpt4 key购买 nike

我有一个关于namedqueries和inheritance的使用问题

如果我有这样的构建:

                               User (abstract) not persisted
¦
__________________________________
¦ ¦ ¦

Customer Manager Administrator

例如,您将它们放在一个表中(继承类型)

如果您使用 Userrepository 来检索它们,您可以使用命名查询。为此,您需要在用户实体中编写命名查询。

是否可以在父类中使用命名查询检索子类?

如果我选择使用inheritancetype = Table by class,那我的namedqueries就不能一样了怎么办?

最佳答案

当然。如果你说:

SELECT u FROM User u WHERE u.age >= 18

(假设 ageUser 的属性)查询将返回 User 的所有子类匹配给定的标准。结果将是 List<User>所以你必须向下转换为Customer , ManagerAdministrator .

继承策略在这里没有任何作用。如果您要求 User , JPA 实现将始终返回正确的子类。毕竟,User可以而且应该是abstract .

关于java - 命名查询和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508147/

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