java пример Hibernate-разница между аннотациями и обычными аннотациями?




spring hibernate dao (2)

Чтобы это было коротко и сладко:

Есть hibernate-commons-annotations 4.1.0-Final и hibernate-annotations 3.5.6-Final.

Я нуб, какая разница между ними, и нужны ли мне оба?

Пытаясь «избежать» JPA, я имею в виду использование стандартов JPA 2.0, встроенных в Hibernate.

Спасибо!


Hibernate Commons Annotations - это «служебный проект для обработки аннотаций», как сказано, например, here . Он не содержит такого API, который должен использовать обычный пользователь Hibernate.

Аннотации Hibernate содержали аннотации отображения постоянства и связанный код. В настоящее время он объединен с ядром Hibernate.

Если вы действительно хотите избежать JPA (1/2), это легко сделать, не используя классы из пакета javax.persistence или из его подпакетов. Если вы хотите противоположного, используйте javax.persistence и избегайте пакетов org.hibernate где это возможно.

Хорошее руководство по началу работы с Hibernate можно найти по http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/ . Он также сообщает, какие библиотеки нужны всегда, а какие не являются обязательными.

Справочная документация содержит множество советов по использованию JPA вместо устаревших аннотаций Hibernate.


Ранее, hibernate-аннотации были выпущены и версии из ядра Hibernate. Но начиная с версии 3.5 и выше он включен в ядро ​​hibernate. И по какой-то причине он все еще был выпущен с 3.5.0 до 3.5.6, но он вам больше не нужен.

Что касается hibernate-commons-annotations, то это служебный проект, используемый подпроектами hibernate на основе аннотаций. Он используется другими проектами hibernate, такими как hibernate-search, и, следовательно, поддерживается как отдельный проект и является зависимостью от времени компиляции для hibernate-core v3.6.0 и выше.

Источник 1 Источник 2







hibernate-annotations