#java #hibernate #deprecated
#java #спящий режим #устарел
Вопрос:
Я пытаюсь перейти на режим гибернации 4, и я получаю этот org.hibernate.annotations.Объект устарел. Однако ни одна из документации, похоже, не указывает, что это так. У кого-нибудь есть представление об этом?
@org.hibernate.annotations.Entity(dynamicUpdate = true)
Ответ №1:
Да, он устарел в 4.0 :
Deprecate org.hibernate.annotations.Entity
Its individual attributes/values should become annotations.
Schedule for removal in 4.1
Вы должны использовать @DynamicUpdate
вместо
Вот исправленный JIRA, говорящий об этом.
Комментарии:
1. Спасибо. На этой заметке обновление до Hibernate 4 оказывается немного сложным. Я даже не могу создать фабрику сеансов:
2. Обратите внимание, что
@DynamicInsert
аннотация тоже существует.
Ответ №2:
Из руководства по началу работы с Hibernate :
@javax.persistence.Entity
Аннотация используется для обозначения класса как объекта. Он функционирует так же, как элемент сопоставления классов, обсуждаемый в разделе 2.3 «Файл сопоставления». Кроме@javax.persistence.Table
того, в аннотации явно указывается имя таблицы. Без этой спецификации именем таблицы по умолчанию было бы СОБЫТИЕ).
Начиная с org.hibernate.annotations.Сущность устарела вы должны использовать аннотацию Java EE. Кроме того, как уже упоминал толитиус, для конфигураций аннотаций @org.hibernate.annotations.Entity
вы должны использовать соответствующую аннотацию, например @DynamicUpdate
.
Надеюсь, это поможет.
Примечание: Event
это имя класса, которое аннотируется в примере, поэтому в нем указано «имя таблицы по умолчанию будет EVENT».
Ответ №3:
Используйте аннотацию JPA @Entity вместо аннотации Hibernate @Entity . Посмотрите в своем импорте, он должен сказать
import javax.persistence.Entity;
и не
import org.hibernate.annotations.Entity;
Ответ №4:
Для будущих целей, пожалуйста, обратитесь к списку устаревших API для Hibernate 4.0. Ссылка выглядит следующим образом: — Устаревший API