ORM = реляционное сопоставление объектов, атрибуты объектов сопоставляются со столбцами в реальной базе данных. Это отображение является произвольным, так что это может быть сделано для больших двоичных объектов, на практике то, что наиболее полезно, имеет тенденцию к естественным отображениям - строки в Varchars, int в целые числа и т. Д.
JPA - это место для поиска стандарта для ORM. JPA заменяет подход EJB CMP, который оказался громоздким. JPA позволяет вам выражать сопоставление в виде аннотаций Java, а также позволяет указывать сопоставления в файлах конфигурации, при поддержке нескольких баз данных последнее может быть полезно.
JPA имеет язык запросов, так что вы можете создавать запросы к атрибутам объекта.
JPA поддерживается основными поставщиками серверов приложений, а также такими продуктами, как Hibernate.
Мне было приятно работать с JPA, в большей степени, чем с EJB CMP.
Я бы по-прежнему рекомендовал использовать фасады EJB Session Beans для управления транзакциями и обеспечения безопасности - подход на основе аннотаций делает EJB 3 способ более простым в использовании, чем EJB 2, с минимальными затратами на кодирование.