0

我正在使用 Eclipse 的内部 glassfish 3.1 插件,以及我安装的一个 derby 数据库(它显示在 Eclipse 的 Database Developer 视图中的数据源浏览器中),我正在摸索获取ORM 工作,因此我可以开发一个应用程序,使用 Eclipselink 为 JPA 实现使用 EJB 持久化数据。

我知道我需要配置persistence.xml 文件,但我不知道其中需要什么,各个字段名称的含义。我觉得persistence.xml 的目的是告诉Glassfish 在哪里可以找到数据库来存储所有内容,以及使用哪个JPA 实现来进行存储。

我有一堆问题。

  1. 我是否必须为每个代表数据库中对象的类提供一个持久性条目?因此,如果我有一个 Book 类和一个 Library 类,我是否需要persistence.xml 中的两个条目,或者我可以只做一个为它们提供服务的案例吗?

  2. 我在哪里可以找到有关如何配置persistence.xml 文件的更多信息。我发现了大量非常具体的教程,其中包含有关如何在 X、Y 或 Z 设置中配置它的信息,但没有任何内容解释各个位,以及如何从高级别配置它们。

  3. 一旦我正确设置了我的 persistence.xml 文件,我还需要做什么来确保我的 @annotated 类将由 ORM 实现正确服务?我需要在 Glassfish 中配置什么吗?

4

1 回答 1

0

我不是专家,但...

1) 是的,根据我的经验,每个班级都需要一个条目。可能有例外,但我不熟悉它们。

2) [http://wiki.eclipse.org/EclipseLink/] 是一个很好的起点。[http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Configuration/JPA/persistence.xml] 有一些您可能已经知道的细节。我自己很难找到完美的资源。我倾向于发现到处都是零散的信息。

3) 一般来说,我的大部分persistence.xml 文件都是由eclipselink 自动生成的。从 glassfish 管理控制台创建连接池和 JDBC 资源后,我必须添加我的

<jta-data-source>jdbc/your_name</jta-data-source>

到persistence.xml。[1]

<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>

我添加了这些属性,因此我的身份列将使用 JPA 自动递增。

试试这两个教程,以更好地理解它的工作原理:

[1] http://programming.manessinger.com/tutorials/an-eclipse-glassfish-java-ee-6-tutorial/#heading_toc_j_24

http://itsolutionsforall.com/index.php

[*抱歉,我目前不能发布超过 2 个链接]

于 2012-03-01T00:17:56.247 回答