Я работаю над REST API с Java, используя JAX-RS, EJB, JPA и JasperReports, в основном API вызывает функцию оракула, которая возвращает идентификатор, с этим идентификатором я делаю выбор и генерирую отчеты с помощью Jasper Reports , то я отправляю отчет в качестве ответа, работает нормально.
Но у меня есть несколько вопросов, должен ли я использовать или не использовать EJB, потому что я не понимаю, почему я должен использовать EJB в этом случае, так как функция оракула имеет коммит внутри него, если что-то пойдет не так, откат запускается EJB не будет ничего делать правильно? Кроме того, select, который генерирует отчет, прост, всего одна таблица, и я видел несколько статей, в которых говорилось, что если вы делаете просто select, нет необходимости использовать EJB для управления транзакцией.
Кроме того, как использовать CDI в этом случае? @ Имена в классах и @Inject в полях? У меня есть коллеги, которые говорят, что @Named следует использовать только с JSF, но я младший, ищу истину об этом, изучив многое, я до сих пор не знаю, как с этим справиться, я ценю любую помощь.
Спасибо!