gpt4 book ai didi

hibernate - hql 子类属性

转载 作者:行者123 更新时间:2023-12-02 23:15:04 24 4
gpt4 key购买 nike

我有一个 A 类以及具有不同属性的子类 B 和 C。我怎样才能做类似的事情:a 来自 A a,其中 (a.class = B 和 a.specific-property-of-b = "y") 或 (a.class = C 和 a.special-property-of-c ="z")

是否有可能让hibernate理解,当它是某个类的实例时,它可以访问它的特定属性,或者是不可能做类似的事情,而我必须这样做:

a from A a where a.id in(从 B b 选择 b.id,其中 b.special-property-of-b = "y") 或 a.id in(从 C c 中选择 c.id,其中 c.special-property-of-c = "z")

谢谢

最佳答案

您按照建议进行操作:

select a from A a 
where (a.class = B and a.specificPropertyOfB = 'y')
or (a.class = C and a.specificPropertyOfC = 'z')

唯一无法正常工作的情况(根据我的经验)是如果您在两个子类中定义两个具有相同名称的持久字段。

关于hibernate - hql 子类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715145/

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