У меня есть сообщение, и мне нужно показать десять (например) первых ответов «root» со всеми ответами на себя, и оно должно выглядеть как дерево.(Стандартные сообщения и просмотр дерева ответов, вы знаете).Итак, вопрос - как получить его из БД - я использую hibernate, и на самом деле у него будет много времени - для рекурсивного извлечения самой коллекции ВЕСЬ со всеми поддеревьями.(И, может быть, это хорошо только для небольших коллекций, в противном случае рекурсия вызовет переполнение стека (Ха-ха. Вот и мы :)) Есть ли более эффективное решение?
Так что теперь у меня есть что-то вроде кода ниже, но мне нужен еще один способ (BaseEntry является классом как для сообщения, так и для любого ответа):
@Entity public class BaseEntry extends VersionedEntity {
private @Nullable BaseEntry parent;
@ManyToOne
@ForeignKey(name="base_entry_parent__base_entry_fk")
@Nullable public BaseEntry getParent()
{
return parent;
}
@OneToMany(mappedBy = "parent", cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
private List<BaseEntry> children;
...
Не могли бы вы что-нибудь посоветовать, пожалуйста?