Работа с БД в Java
Подскажите пожалуйста какие технологии сейчас популярны для работы с БД на Java?
Есть обычная работа с БД через jdbc, есть jpa, есть hibernate, который использует jpa. Везде сейчас требуется знание spring + hibernate. Они настолько удобны и необходимы, что так популярны?