我一直在尝试学习如何连接到 glassfish4 开箱即用的嵌入式数据库 Apache Derby。我必须在项目的 src/META-INF/persistence.xml 中设置什么?它是否以某种方式预先配置?如果没有,我该如何更改其设置 - 通过 glassfish 控制台?
在此先感谢您的帮助。
我一直在尝试学习如何连接到 glassfish4 开箱即用的嵌入式数据库 Apache Derby。我必须在项目的 src/META-INF/persistence.xml 中设置什么?它是否以某种方式预先配置?如果没有,我该如何更改其设置 - 通过 glassfish 控制台?
在此先感谢您的帮助。
如果您不使用 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 管理控制台创建的池。