Почему метод сессионного компонента генерирует исключение EjbTransactionRolledbackException при возникновении исключения RuntimeException

Я пытаюсь сохранить сущность с проверкой ограничения, когда вызывать сохраняются - есть ограничение, которое выбрасывается, и вызывающая сторона получаетEjbTransactionRolledbackException... поэтому я пытаюсь вызвать проверку явным и броситьConstraintViolationException/RuntimeException и еще звонящий получитEjbTransactionRolledbackException... когда я бросаюMyException продолжаетсяException - звонящийMyException

Даже когда я называю явнымsc.setRollBackOnly это все еще случилось :(

Это не должно быть поведение.

в чем дело?

Конфигурация:

Netbeans 6.9.1 Glassfish 3.0.1 JPA 2.0 (EclipseLink) EJB 3.1

Спасибо!!!

@Stateless
public class My {

@PersistenceContext
EntityManager em;

@Resource
Validator  validator;

public Order checkout(Order order) {
    Set<ConstraintViolation<Order>> set = validator.validate(order, Default.class);

    if (!set.isEmpty()) {
        sc.setRollbackOnly();
        //throw new ConstraintViolationException(new HashSet<ConstraintViolation<?>>(set));
        throw new RuntimeException();
    }

    this.em.persist(order);
}

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

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