Есть ли способ продолжить использование привязанного к потоку сеанса гибернации после того, как было сгенерировано исключение ограничения?Я привожу короткий пример здесь:
Parent other=service.load(33); // loads a new parent
try {
Parent p=new Parent();
p.setName("A name");
service.save(p); // a @Transactional spring service class, throws ConstraintViolationException - name should be at least 15 characters long
} catch (ConstraintViolationException e){
// i would like to handle validation errors and proceed normally
// but the session is allready closed here
}
System.out.println("Children: " + other.getChildren()); // lazy initialization exception, even when using opensessioninview
Отныне сеанс гибернации совершенно бесполезен даже для операций только для чтения, таких как рендеринг отложенной коллекции в представлении с использованием шаблона OpenSessionInView.