У меня есть предмет объекта домена с полями id, name, parentItem и category (логическое значение). Итак, я вставляю значения в базу данных, например:
id name parentItem category
1 Инструменты NULL 1
2 Электроинструменты 1 1
3 Мелкие инструменты 2 1
4 Фактический инструмент конец дочернего элемента 3 0
поэтому фактический элемент находится в категории/пути "Инструменты/Электроинструменты/Мелкие инструменты"
Поэтому мне нужно реализовать ленивый поиск по фильтру по categoryName/categoryPath. Например: если пользователь вводит в фильтр dataTable «Электротехника», мне нужно вернуть все элементы в категории «Электроинструменты» и все элементы из подкатегорий (в этом примере небольшие инструменты и все остальные, если они существуют).
Итак, в настоящее время у меня есть поле @Transient объекта домена java, которое использует рекурсию для получения пути к элементам. Но я не могу искать по переходным полям. Я имею в виду, что я не могу реализовать поиск в базе данных, потому что это поле:
1. Временное
2. Использует рекурсию, и если мне нужно развернуть приложение в другой версии БД, мне придется переписать рекурсивный sql в БД или что-то в этом роде. мне это не нравится
Может ли кто-нибудь указать мне какое-нибудь умное, уникальное решение? Любая идея, совет приветствуется. Спасибо!