如何使用Derby和Eclipselink在glassfish v3上为ORM配置persistence.xml

时间:2012-02-14 18:45:06

标签: orm glassfish eclipselink derby persistence.xml

我正在使用Eclipse的内部glassfish 3.1插件,以及我安装的derby数据库(它出现在Eclipse的Database Developer视图中的数据源资源管理器中),我在“最后”步骤中摸索让ORM正常工作,以便我可以使用Eclipselink为JPA实现开发一个使用EJB持久保存数据的应用程序。

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

我有很多问题。

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

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

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

1 个答案:

答案 0 :(得分: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个以上的链接]