Ответ «оба».
Сам EJB не имеет доступа к таблицам БД.Все, что вы делаете в Java, что касается БД, происходит через Java Persistence API (JPA), или если вы хотите делать низкоуровневые вещи через JDBC, но давайте не будем вдаваться в это здесь.Таблица очень простое управление транзакциями.Вы всегда нуждаетесь в них с JPA, и немного неудобно управлять ими вручную.EJB также предоставляет вам очень простой доступ к основному классу, который вы будете использовать в JPA для взаимодействия с БД: диспетчер сущностей.
Практическое использование EJB для многих простых и легких ситуаций - не более чем добавление@ Безголосная аннотация к бину:
@Stateless
public class FooService {
@PersistenceContext
private EntityManager entityManager;
public Foo getByID(Long fooID) {
return entityManager.find(Foo.class, ID);
}
}
Без EJB код для этого простого поиска был бы намного более подробным.А без JPA просто не было бы никакого кода.Как уже было сказано, EJB не имеет функций для доступа к БД.