2010-09-20 2 views
6

У меня есть некоторые основные вопросы:Некоторые основные вопросы JPA + Hibernate?

1) Сколько xml-файлов участвовало в комбинации JPA + Hibernate, если использовались аннотации JPA? У меня есть только persistence.xml.

2) Требуется ли hibernate.cfg.xml, если я использую аннотации JPA. Потому что я до сих пор не добавлял его.

3) Кто-нибудь даст мне список основных имен файлов JAR, в случае использования JPA 2.0 & Hibernate !!!

Спасибо!

ответ

6

1) Сколько XML-файлы, участвующие в комбинации JPA + Hibernate, если использовать JPA аннотаций? У меня есть просто persistence.xml.

Обычно этого одного файла достаточно, аннотированные объекты будут автоматически загружены через сканирование маршрутов класса. Но вы можете определить внешние файлы сопоставления (пример доступен on this page). Механизм таков:

<persistence-unit name="xyz"> 
    <mapping-file>../orm.xml</mapping-file> 
    <!-- ... --> 
</persistence-unit> 

2) Является ли hibernate.cfg.xml необходимо, если я использовать JPA annotaions. Потому что, я didnt добавил это до сих пор.

hibernate.cfg.xml является запатентованным спящим материалом и не нужен для jpa. В JPA вы можете использовать <properties> для настройки свойств для конкретного поставщика. Пример:

<properties> 
    <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> 
    <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
</properties> 

Смотрите этот документ для Hibernate/JPA configuration

3) Должен ли кто-нибудь дать мне список имен файлов основной JAR, в случае использования JPA 2.0 & Hibernate !!!

вы должны использовать maven и добавить эту зависимость в вашем pom.xml:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>3.5.6-Final</version> 
</dependency> 

(см this directory последнюю версию, сканирование this file для последнего появления *.*.*-Final или просто читать Hibernate web site)

Вам также потребуется добавить репозиторий JBoss в pom.xml или settings.xml:

<repositories> 
    <repository> 
    <id>jboss-public-repository-group</id> 
    <name>JBoss Public Repository Group</name> 
    <url>http://repository.jboss.org/nexus/content/groups/public</url> 
    </repository> 
    ... 
</repositories> 

, который автоматически добавит все остальное, что необходимо, см. this previous answer для получения более подробной информации.

Если вы не хотите использовать maven, вы можете использовать release bundles, предоставляемый sourceforge.

+3

Я бы просто добавил, что если вы не используете Maven, вы должны получить [release bundles] (http://sourceforge.net/projects/hibernate/files/hibernate3/) из SourceForge. +1 в любом случае, конечно. –

+0

@Pascal благодарит, добавил, что ссылка на мой ответ –