我是 Java EE 和 JPA 世界的新手,需要帮助来理解 persistence.xml 文件内容。我使用 Eclipse IDE、TomEE 应用程序服务器、OpenJPA 作为持久性提供程序,以及 MySQL 作为数据库。
现在,假设我有一些带有名为 A、B 和 C 的注释实体的 Java EE 项目,我想将这些实体映射到名为 TestDB 的 MySQL 数据库。我希望根据实体注释在部署期间创建数据库。在 MySQL 服务器上,我以“root”用户身份登录,密码为“123”。
persistence.xml 中的哪些属性对应于哪些 Java EE 环境工件(什么代表持久性单元,在哪里指定数据库名称……)?对于上述情况,这是正确的 persistence.xml 文件内容吗:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="Test" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<properties>
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/TestDB" />
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />
<property name="openjpa.ConnectionUserName" value="root" />
<property name="openjpa.ConnectionPassword" value="123" />
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
<property name="openjpa.jdbc.DBDictionary" value="mysql" />
<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
</properties>
</persistence-unit>
</persistence>
还有哪些设置对于 JPA 正常工作很重要?(感谢任何帮助)