首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate按其子类特定字段过滤对象列表

Hibernate按其子类特定字段过滤对象列表
EN

Stack Overflow用户
提问于 2011-11-03 18:24:02
回答 1查看 509关注 0票数 3

我有一个Java超类- Message -和3个子类- Problem,Report,Update。对于这4个类中的每个类,我都有一个单独的控制器(lister),它使用Hibernate从数据库中获取对象。此外,这些控制器中的每一个都添加了一些特定于它所使用的类的过滤条件(限制)。ListMessages可以为消息类中的字段添加条件,ListProblems可以为消息字段和问题特定字段添加条件。但是,有没有办法使用子类中的字段来过滤消息呢?

例如,Message有一个字段content,Problem有status,Report有refusalReason (all String)。我可以按内容过滤所有邮件,按内容和状态过滤问题,按内容和refusalReason过滤报告。但是有没有办法根据内容、状态和refusalReason来过滤消息呢?我需要它,因为我希望有一个包含所有消息的列表,但又希望能够过滤所有与过滤模式匹配的实际状态问题(或refusalReason报告)的消息。不幸的是,我无法从数据库中获取消息并在Java代码中对其进行过滤-它们需要在数据库端进行过滤。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 17:18:24

我不知道您使用的是哪种hibernate查询语言,因此我将大致回答这个问题。如果你发布你的查询(语言),我会看看我是否可以用一个例子来更新这个问题。

您必须做的是使用左外部连接来包括子类,并对每个连接添加一个额外的限制,以包括您想要的过滤。这应该会给您留下所需的消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7993285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档