Я просмотрел некоторые ссылки для стратегий извлечения гибернации в сети. Одна краткая и краткая ссылка, которая мне понравилась, - это http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/. У нас есть четыре типа стратегий выборки. Эти :-
- fetch- ”join” = Отключить ленивую загрузку, всегда загружать все коллекции и объекты.
- fetch- ”select” (по умолчанию) = Ленивая загрузка всех коллекций и сущностей.
- batch-size = ”N” = Получение до "N" коллекций или объектов, Не записывать.
- fetch- ”subslect” = Сгруппировать свою коллекцию в оператор sub select.
Мой первый вопрос, какой из вышеперечисленных подходит для активного или ленивого типа выборки?
Чтобы поднять мои вопросы о стратегиях извлечения гибернации, я рассматриваю ниже фрагмент кода в моем классе Департамента
@OneToMany(mappedBy = "department", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
@Fetch(value = FetchMode.SELECT)
@BatchSize(size = 10)
private Set<EmployeeData> employees = new HashSet<EmployeeData>();
Насколько я понимаю, как только я упоминаю fetchtype как стремящийся, у меня остается только стратегия присоединения к выборке, но когда я упоминаю как fetchtype как ленивую загрузку, у меня есть еще три варианта: выбор, размер пакета и подвыбор. Согласен? < / strong> Теперь, если я посмотрю на фрагмент кода в одном из своих унаследованных проектов, он упомянул тип выборки как активный, а стратегию выборки - как выбор, который сокращает друг друга. Правильно?
Другой запрос: Я не вижу параметр размера пакета, когда пишу FetchMode. и есть ли control + space в eclipse, хотя я вижу другие три стратегии извлечения?