Re: как лучше использовать JPA hibernate
От: unreger  
Дата: 18.05.09 15:09
Оценка:
что-то не работатет поиск, я присоединюсь

Как правильно обрабатывать исключения?


public class JPAUtil {
    private static final EntityManagerFactory factory;
    private static Logger logger = LoggerFactory.getLogger(JPAUtil.class);

    static {
        try {
            factory = Persistence.createEntityManagerFactory("NB");

        } catch (Throwable ex) {
            logger.error("Initial SessionFactory creation failed", ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

.....
    public static void save(Object o) {
        EntityManager em = null;

        try {
            em = JPAUtil.getEntityManagerFactory().createEntityManager();
            JPAUtil.startTransaction(em);
            em.persist(o);
            JPAUtil.finishTransacton(em);

        } catch (PersistenceException e) {
            JPAUtil.transactionFailed(em);
            throw e;
        }
    }
.....
}

public class DictionaryDAO {
....
    public void delHeader(SystemDictionary systemDictionary) {
        JPAUtil.remove(SystemDictionary.class,systemDictionary.getId());
    }
...
}


И представим что идет попытка удаления уже несуществующего объекта. Сейчас в JPAUtil оно поймается, а как пользователь узнает об ошибке?
Выносить исключение выше выше и выше, до самой jsp? Или попробовать вынести все исключения в аспект?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.