Говоря просто о зависимостях, обновление с Hibernate 4.3.x до > = 5.2.x довольно простое. Последняя версия> = 5.2.x довольно солидна и уже давно протестирована сообществом. Более свежие версии> = 5.3.x были выпущены в мае 2018 года.
Вы можете выполнить миграцию в pom.xml
с помощью следующих фрагментов:
Hibernate 5.2.x
<properties>
<hibernate.version>5.2.17.Final</hibernate.version>
<hibernate.validator.version>6.0.10.Final</hibernate.validator.version>
<java-version>10</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.validator.version}</version>
</dependency>
Hibernate 5.3.x
Просто замените одно значение свойства следующим образом:
<hibernate.version>5.3.1.Final</hibernate.version>
Все другие соответствующие транзитивные зависимости автоматически включаются через вышеуказанные артефакты.
Обратите внимание
hibernate-entitymanager-...jar
, который использовался вашим исходным фрагментом pom.xml
, больше не существует в Hibernate 5.2.x. Все, что связано с JPA / EntityManager, теперь включено в hibernate-core-...jar
.
Спящий валидатор
Начиная с выпуска версии 6.0.10 , библиотека полностью поддерживает JDK10:
Теперь вы можете создавать и использовать Hibernate Validator с JDK 10.
Для справки см .: http://in.relation.to/2018/05/15/hibernate-validator-6010-final-out/
Проверка ...
Кроме того, просмотрите каждый persistence.xml
файл в проекте, чтобы
- Вы установили:
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
и определите заголовок как соответствующий JPA 2.1 :
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
или
для соответствия JPA 2.2 как
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"
version="2.2">
Дополнительные замечания
Теоретически все важные зависимости должны быть включены в ваш проект с помощью приведенных выше фрагментов. Однако на практике вы (скорее всего) столкнетесь с некоторыми критическими изменениями при компиляции или времени выполнения с вашим существующим кодом проекта. Многие из них могут быть решены путем проверки официальных руководств по миграции здесь:
Надеюсь, это поможет.