JPA или JDBC, чем они отличаются?

Я изучаю Java EE, и я загрузил затмение с Glassfish для того же. Я видел несколько примеров, а также читал документы Oracle, чтобы узнать все о Java EE 5. Подключение к базе данных было очень простым. Я открыл динамический веб-проект, создал сессионный EJB, я использовал EntityManager и с помощью методов get мог получить доступ к хранимой таблице данных.

Для моего следующего проекта я должен был создать простой класс и затем получить доступ к некоторой таблице БД. Самая первая проблема, с которой я столкнулся, заключалась в том, что атрибут PersistenceUnit будет распознаваться только EJB, Servlet и т. Д., А не простым Java-классом. Так что тогда я не мог использовать способ EntityManager (или я могу?)

Меня попросили пройти через "JDBC" путь. Самой первой проблемой, с которой я столкнулся, было установление соединения с БД. Кажется, все это должно быть жестко закодировано. У меня был файл persistence.xml, с помощью которого я мог легко настроить соединение с базой данных. Даже настроить драйвер для БД было легко. Также в JDBC нет методов get / set для доступа к сущностям таблиц.

Как я понимаю JPA и постоянство по отношению к JDBC? Для чего была идея JPA? Почему есть методы set / get? Может кто-то пролить свет на суть этих двух и каковы плюсы / минусы без "жаргонов" ?? Пожалуйста, также предложите несколько ссылок. Простой поиск в Google для JPA и JDBC различий привел меня к нескольким сайтам, полным "терминологии" Я не могу следовать :(

Ответы на вопрос(4)

Ваш ответ на вопрос