Я создал ручную транзакцию, она работает, но при использовании аннотации транзакции она не работает, давая ошибку ниже
Ошибка :
Ошибка
com.krawler.common.service.ServiceException: system failure: getJournalEntryJson : could not initialize proxy - no Session Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Структура кода
Controller Class {
ModelAndView
export {
thread call(JounralExport)
}
}
JounralExport {
void run() {
Function1();
Function2();
Function3();
}
Function1() {
manual transaction create commit;
}
Function2() {
FucntionA();
}
Function3() {
manual transaction create commit;
}
}
Class B {
@Transactional(propagation = Propagation.REQUIRED) private JounralExport entry;
setter FuncitonA() {
obj.put("companyname", entry.getCompany().getCompanyName()); // error could not initialize proxy - no Session
}
}
Фактический код имеет значение. Размещайте фактический код, а не псевдокод. Фактическая трассировка стека исключений тоже имеет значение. Posst фактическая трассировка стека исключений.





Всегда форматируйте код так, чтобы он был удобочитаемым, а не просто выгружать все в одной строке