JPA и Hibernate или Hibernate?
JPA - это интерфейс языка JAVA, не имеющий реализации в самом языке. Если просто добавить аннотации JPA в свои классы, то не произойдет ровным счетом ничего. Для того, чтобы аннотации начали "работать", следует развернуть и настроить в проекте фреймворк, который "найдет" все классы с JPA-аннотациями и "состыкует" их с сущностями СУБД. Этим фреймворком у вас является Hibernate.
По поводу "работать с hibernate можно и через JPA или отдельно от него" - тут в основном дело вкуса. У вас есть два варианта сообщить Hibernate какие классы "замапить" на таблицы БД:
1. Добавить в классы аннотации JPA
2. Создать XML-файлы, в которых будет описано сопоставление классов объектам БД.
По доступной функциональности оба метода равны между собой, при этом аннотации JPA более современны. Я бы рекомендовал JPA, т.к. при открытии класса сразу будет видно, что он "замаплен", а в случае использования XML, "замапленный" класс визуально неотличим от других классов.
JPA - универсальный интерфейс, который будет понятен и людям, которые работали только с ОРМ, отличной с hibernate. Да и тот факт, что сейчас вы не хотите поменять hibernate еще не гарантирует того, что желание не появится в будущем. Лично я обычно делаю с использованием JPA.