Я управляю проектом с Spring roo, и я использую спящий режим, когда я пытаюсь использовать этот контроллер. У меня есть это сообщение об исключении: невозможно инициализировать прокси - нет сеансаSpring roo не смог инициализировать прокси - no Session
org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:186)
org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545)
org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:124)
org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:180)
com.macrosystem.rentacar.service.DefaultJournalService.getReservationsProfitPerYear(DefaultJournalService.java:142)
com.macrosystem.rentacar.service.DefaultJournalService.getTotalLossAndProfitPerYear(DefaultJournalService.java:159)
com.macrosystem.rentacar.service.DefaultJournalService.getTotalLossAndProfit(DefaultJournalService.java:173)
com.macrosystem.rentacar.web.JournalController.lossAndPorfit(JournalController.java:44)
Вот метод контроллера:
@RequestMapping("/lossandprofit.json")
public @ResponseBody List<Map<String, Number>> lossAndPorfit(){
return journalService.getTotalLossAndProfit() ;
}
и метод службы, которые вызывают исключение,
@Override
@Transactional
public BigDecimal getReservationsProfitPerYear(int year) {
BigDecimal reservationsprofit = new BigDecimal(0) ;
if(vehicle == null){
log.warn("vehicule is null") ;
}
Set<Reservation> reservations = vehicle.getReservations() ;
Iterator<Reservation> iterator = reservations.iterator() ;
while(iterator.hasNext()){
Reservation current = iterator.next() ;
GregorianCalendar calendar = new GregorianCalendar() ;
calendar.setTime(current.getStartDate()) ;
if (calendar.get(Calendar.YEAR) == year){
reservationsprofit = reservationsprofit.add(current.getAmount()) ;
}
}
return reservationsprofit;
}
Почему у меня есть это исключение, даже если я аннотирование моего метода обслуживания с @Transactionnal, я посмотрел на файл applicationContext.xml и нашел эту строку
<tx:annotation-driven mode="aspectj"
transaction-manager="transactionManager" />
это режим = «AspectJ» часть, отменяет эффект этой аннотации?