В целом, я согласен с приведенными выше ответами, которые рекомендуют добавить зависимость maven, но я предпочитаю следующее решение.
Добавление зависимости с классами API для полного профиля JavaEE:
<properties>
<javaee-api.version>7.0</javaee-api.version>
<hibernate-entitymanager.version>5.1.3.Final</hibernate-entitymanager.version>
</properties>
<depencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee-api.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
Также добавьте зависимость с конкретным поставщиком JPA, как предложил antonycc:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate-entitymanager.version}</version>
</dependency>
Примечание <scope>provided</scope>
в разделе зависимостей API: это означает, что соответствующий jar-файл не будет экспортирован в lib/
артефакта, но будет предоставлен сервером приложений. Убедитесь, что ваш сервер приложений реализует указанную версию API JavaEE.