Spring управляемые транзакции без аннотации @Transactional

Я использую аннотации Spring для управления своими транзакциями следующим образом:

@Transactional(readOnly = true)
public class AlertServiceImpl implements AlertService {

     private AlertDAO alertDAO;

     public List<Alert> getAlerts(){
         List<Alert> alerts = alertDAO.getAlerts();
         return alerts;
     }

}

Мне интересно, что произойдет, если я забуду аннотацию:

// Oops! Forgot to use transactional annotation 
public class AlertServiceImpl implements AlertService {

    private AlertDAO alertDAO;

    public List<Alert> getAlerts(){
         List<Alert> alerts = alertDAO.getAlerts();
         return alerts;
    }

}

Когда реализация alertDAO следующая:

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

// no annotation here either
public class HibernateAlertDAO extends HibernateDaoSupport implements AlertDAO {

    public List<Alert> getAlerts(){
         // some implementation details that define queryString

         Query query = getSession().createQuery(queryString);
         List<Alert> alerts = query.list();

         return alerts;
    }

}

Похоже, что Hibernate позволяет мне получать данные из базы данных даже без аннотации.

Каковы последствия такого рода невнимательности и каковы наихудшие сценарии, которые могут произойти?

Ответы на вопрос(4)

Ваш ответ на вопрос