У меня есть один суперкласс Java - Message - и 3 дочерних класса - Problem, Report, Update.Для каждого из этих 4 классов у меня есть отдельный контроллер (листер), который использует Hibernate для получения объектов из базы данных.Кроме того, каждый из этих контроллеров добавляет некоторые критерии фильтрации (ограничения), специфичные для используемого им класса.ListMessages может добавлять критерии для полей в классе сообщений, ListProblems может добавлять критерии для полей сообщений и специфичных для проблемы полей.Но есть ли способ фильтрации сообщений с использованием полей из дочерних классов?
Например, у сообщения есть содержимое поля, у проблемы есть статус, у отчета есть отказ по причине (все строки).Я могу фильтровать все сообщения по содержанию, проблемы по содержанию и статусу, отчеты по содержанию и отказ по причине.Но есть ли способ фильтрации сообщений по содержанию, статусу и причине отказа?Мне это нужно, потому что я хочу иметь список всех сообщений, но иметь возможность отфильтровывать все сообщения, которые на самом деле являются проблемами со статусом (или отчетами с refusalReason), которые соответствуют шаблону фильтрации.К сожалению, я не могу получать сообщения из базы данных и фильтровать их в коде Java - их необходимо фильтровать на стороне базы данных.