如何使用 JPA 1.0 执行非多态 JPQL 查询?

发布于 2024-11-19 08:03:55 字数 411 浏览 2 评论 0原文

想象我有 3 个实体,Basic <- Sub <- SubSub。我想选择 BasicSub 但不是 SubSub

我已经发现在 JPA 2.0 中我可以进行此查询 从 Basic b WHERE TYPE(b) IN (Basic,Sub) 中选择 b 但我必须使用的实现是apache-openjpa-1.2.3-SNAPSHOT

如何使用 JPA 1.0 完成任务?我对任何事情都持开放态度。我可以查询鉴别器列(普通 SQL 或 JPQL)吗?有某种查询提示吗?可以通过不使用继承而是使用某种组合来解决吗?

我很感激你的帮助。谢谢

imagine i have 3 Entities, Basic <- Sub <- SubSub. I want to select Basic and Sub but not SubSub

I have already discovered that in JPA 2.0 I can have this query
SELECT b FROM Basic b WHERE TYPE(b) IN (Basic,Sub)
But the implementation I have to work with is apache-openjpa-1.2.3-SNAPSHOT.

How can I accomplish the task with JPA 1.0? I'm open for anything. Can I query for the Discriminator Column (plain SQL or JPQL)? Is there some kind of queryHint? Can it be solved by not using Inheritance but some sort of Composition?

I'd appreciate your help. thx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Hello爱情风 2024-11-26 08:03:55

我没有测试,但我认为你需要类似的东西:

SELECT b FROM Basic b WHERE b NOT IN (FROM SubSub)

I didn't test, but I think that you need something similar to this:

SELECT b FROM Basic b WHERE b NOT IN (FROM SubSub)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文