一些基本的JPA + Hibernate问题?

6 java orm hibernate jpa jpa-2.0

我有一些基本问题:

1)如果使用JPA注释,JPA + Hibernate组合中涉及多少个xml文件?我只有persistence.xml.

2)如果我使用JPA注释,是否需要hibernate.cfg.xml.因为,直到现在我还没有添加它.

3)如果使用JPA 2.0和Hibernate,任何人都可以给我基本的JAR文件名列表!

谢谢!

Sea*_*oyd 6

1)如果使用JPA注释,JPA + Hibernate组合中涉及多少个xml文件?我只有persistence.xml.

通常这一个文件就足够了,带注释的实体将通过类路径扫描自动获取.但您可以定义外部映射文件(此页面上提供一个示例).机制是这样的:

<persistence-unit name="xyz">
    <mapping-file>../orm.xml</mapping-file>
    <!-- ... -->
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

2)如果我使用JPA注释,是否需要hibernate.cfg.xml.因为,直到现在我还没有添加它.

hibernate.cfg.xml是专有的hibernate内容,jpa不需要.在JPA中,您可以使用<properties>配置特定于供应商的属性.例:

<properties>
    <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
    <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
Run Code Online (Sandbox Code Playgroud)

有关Hibernate/JPA配置,请参阅此文档

3)如果使用JPA 2.0和Hibernate,任何人都可以给我基本的JAR文件名列表!

你应该使用maven并将此依赖项添加到你的pom.xml:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.5.6-Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

(请参阅此目录以获取最新版本,扫描此文件以查看最新版本*.*.*-Final或仅阅读Hibernate网站)

您还需要将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>
Run Code Online (Sandbox Code Playgroud)

这将自动添加所需的所有其他内容,请参阅此前一个答案以获取更多详细信息.

如果您不想使用maven,可以使用sourceforge提供的发行包.

  • 我想补充一点,如果你不使用Maven,你应该从SourceForge获得[发布包](http://sourceforge.net/projects/hibernate/files/hibernate3/).当然+1也是+1. (3认同)