У меня есть рекурсивный объект, который связан с самим собой.
@Entity
public class Function {
(...)
@ManyToMany(fetch = FetchType.LAZY)
private Set<Function> children = new HashSet<>();
}
Если эта ассоциация будет стремиться @ManyToMany(fetch = FetchType.EAGER)
, то все ее дочерние элементы всегда будут инициализированы с одной поездкой в базу данных. Конечно, я не хочу, чтобы эта ассоциация была нетерпеливой.
С помощью API критериев JPA можно получить коллекцию с помощью someRoot.fetch(Function_.children)
. Он выбирает только один уровень и не является рекурсивным, как тип нетерпеливого извлечения.
Есть ли способ рекурсивно вызывать своих детей, не превращая их в нетерпеливую ассоциацию?