1

我一直在尝试学习如何连接到 glassfish4 开箱即用的嵌入式数据库 Apache Derby。我必须在项目的 src/META-INF/persistence.xml 中设置什么?它是否以某种方式预先配置?如果没有,我该如何更改其设置 - 通过 glassfish 控制台?

在此先感谢您的帮助。

4

1 回答 1

2

如果您不使用 JTA,您需要在 IDE 中编辑 persistence.xml 以添加持久性提供程序、要管理的类以及数据库的一些配置,并将其与应用程序一起打包。一般可以在persistence.xml中输入以下内容:

<persistence-unit name="call_it_as_you_want" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>YourClass</class>
    <properties>
      <property name="javax.persistence.jdbc.driver"   value="org.apache.derby.jdbc.ClientDriver" /> 
      <property name="javax.persistence.jdbc.url"      value="jdbc:derby://127.0.0.1:1527/yourDatabase;create=true" />
      <property name="javax.persistence.jdbc.user"     value="your_database_login" />
      <property name="javax.persistence.jdbc.password" value="your_database_password" />
      <property name="eclipselink.ddl-generation"      value="drop-and-create-tables" />
    </properties>
  </persistence-unit>

在此之前,检查 derby 是否在端口 1527 上运行 - 我认为应该。如果您打算将 JPA 与 EJB 一起使用,您可以使用 JTA 配置 - 在这种情况下,persistence.xml 只需要声明您将从 Glassfish 管理控制台创建的池。

于 2013-11-02T23:30:47.057 回答