必須移轉 OpenJPA 和 WebSphere JPA 配置內容

此規則偵測 persistence.xml 檔案中的 OpenJPA 和 WebSphere 供應商特定 JPA 2.0 配置內容。您必須手動將這些內容移轉為標準化或 EclipseLink 內容。 此規則會標示 name 屬性開頭為 openjpa.*wsjpa.* 的任何 property 元素,但 openjpa.jdbc.Schema 內容(由 openjpa.jdbc.Schema 規則標示)及 openjpa.LockManager 內容(由 openjpa.LockManager 規則標示)除外。 wsjpa 配置內容是以 OpenJPA 為建置基礎的 WebSphere Traditional 及 Liberty JPA 2.0 實作所特有的。

在下列 persistence.xml 檔中,所有四個 property 元素都是由此規則標示。

<persistence>
  <persistence-unit name="openjpa">
    <properties>
      ...
      <property name="openjpa.ConnectionURL "
                   value="jdbc:db2://host.ibm.com:50000/mydb2user" />
      <property name="openjpa.ConnectionDriverName" value="com.ibm.db2.jcc.DB2Driver" />
      <property name="openjpa.ConnectionUserName" value="mydb2user" />
      <property name="openjpa.ConnectionPassword" value="password" />      
      ...
    </properties>
  </persistence-unit>
</persistence>

若要解決此問題,請將內容名稱變更為可用的標準化內容。

<persistence>
  <persistence-unit name="openjpa">
    <properties>
      ...   
      <property name="javax.persistence.jdbc.url"
                   value="jdbc:db2://host.ibm.com:50000/mydb2user" />
      <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
      <property name="javax.persistence.jdbc.user" value="mydb2user" />
      <property name="javax.persistence.jdbc.password" value="password" />
      ...
    </properties>
  </persistence-unit>
</persistence>

依預設,在 EclipseLink 中已啟用第二級快取。 如果您在 persistence-unit 中設定了 <property name="openjpa.DataCache" value="true"/>,可移除此內容。 如需相關資訊,請參閱停用持續性單元第二級快取規則。

如需移轉供應商特定 JPA 配置內容的相關資訊,請參閱下列資源: