Я использовал EJB3/JPA при сохранении своих объектов, и я доволен тем, как он может управлять моей задачей, связанной с БД. Меня беспокоит только обработка исключений. Мой пример кода при сохранении объекта всегда имеет этот вариант. Большинство учебных пособий, которые я читал в сети, относятся к этому варианту без учета обработки исключений.
@Stateless
public class StudentFacade{
@PersistenceContext(unitName = "MyDBPU")
private EntityManager em;
public void save(Student student) {
em.persist(student);
}
}
Но я не знаю, как лучше всего обрабатывать исключения в приложении EJB? Каким должен быть лучший способ обработки исключений?
Это то, как другие обрабатывают исключение? Блок try catch на фасаде вашего сеанса?
@Stateless
public class StudentFacade{
@PersistenceContext(unitName = "MyDBPU")
private EntityManager em;
public void save(Student student) {
try {
em.persist(student);
} catch(Exception e) {
//log it or do something
}
}
}
или позволить методу генерировать исключение?
public void save(Student student) throws Exception {
em.persist(student);
}
Я не знаю, правильно ли я понимаю, так как я все еще изучаю EJB. Спасибо