Привет парни я являюсь новым для Спящего режима и JPA
Я записал некоторые функции, первоначально, я установил выборку = FetchType. ЛЕНИВЫЙ в классе объекта. Но это дало мне ошибку: "org.hibernate. LazyInitializationException: не мог инициализировать прокси - никакая Сессия"
@OneToMany(cascade = CascadeType.ALL, mappedBy = "logins", fetch=FetchType.LAZY,targetEntity=Invoice.class)
public List<Invoice> getInvoiceList() {
return invoiceList;
}
public void setInvoiceList(List<Invoice> invoiceList) {
this.invoiceList = invoiceList;
}
Затем я изменил его для выборки = FetchType. НЕТЕРПЕЛИВЫЙ, это работало fine....., я - wondering what, происходят, если я не объявляю FetchType, действительно В спящем режиме, определяют себя который метод использовать? Или это принято значение по умолчанию НЕТЕРПЕЛИВЫМ??
@OneToMany(cascade = CascadeType.ALL, mappedBy = "logins", fetch=FetchType.EAGER,targetEntity=Invoice.class)
public List<Invoice> getInvoiceList() {
return invoiceList;
}
public void setInvoiceList(List<Invoice> invoiceList) {
this.invoiceList = invoiceList;
}
Спасибо!!!!!!!!!
Мне интересно, что произойдет, если я не объявлю
FetchType
, определяет ли Hibernate, какой метод использовать? Или это по умолчанию EAGER ??
На самом деле, это поведение не является специфическим для Hibernate, но определяется спецификацией JPA, и вы найдете ответ в спецификации или в javadoc аннотации OneToMany
или источники. Из источников:
/ ** (Необязательно) Должна ли ассоциация быть * загружается лениво или должно быть загружено с нетерпением. В * Стратегия {@link FetchType # EAGER EAGER} - это * требование к среде выполнения persistenceprovider * что ассоциированные личности должны быть немедленно доставлены. * Стратегия {@link FetchType # LAZY LAZY} - подсказка * в среду выполнения поставщика сохраняемости. * / FetchType fetch () по умолчанию LAZY;
При этом, хотя существуют вполне законные варианты использования для FetchType.EAGER
, использование EAGER
только для того, чтобы избежать LazyInitializationException
(которое возникает при попытке загрузить ленивую ассоциацию на отдельный объект) - это скорее работа, чем реальное решение.