簡體   English   中英

JPA persistence.xml文件的內容詳細信息

[英]JPA persistence.xml file content details

我是Java EE和JPA領域的新手,並且需要了解persistence.xml文件內容的幫助。 我使用Eclipse IDE,TomEE應用程序服務器,OpenJPA作為持久性提供程序以及MySQL作為數據庫。

現在,假設我有一個Java EE項目,其中帶有帶注釋的實體名為A,B和C,並且我想將這些實體映射到名為TestDB的MySQL數據庫。 我希望根據實體注釋在部署期間創建數據庫。 在MySQL服務器上,我以密碼“ 123”的“ root”用戶身份登錄。

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正常工作,還有哪些其他重要設置? (感謝任何幫助)

以上persistence.xml缺少數據源標記: <jta-data-source>TestDB-jta-DS</jta-data-source>

然后,對於Apache TomEE,可以在[tomee]/conf/tomee.xml配置文件中定義數據源。 因此,以上persistence.xml的正確數據源定義為:

<Resource id="TestDB-jta-DS" type="DataSource">
    JdbcDriver          com.mysql.jdbc.Driver
    JdbcUrl             jdbc:mysql://127.0.0.1:3306/TestDB
    UserName            root
    Password            123
    JtaManaged          true
    DefaultAutoCommit   false
</Resource>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM