1

Eclipseで「クラス"test2"がマップされていますが、どのクラスにも含まれていません」というエラーが表示されますが、クラスは永続性xmlに含まれています。

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
    <persistence-unit name="test1">
        <class>com.test.domains.test1</class>
        <properties>
                  <!-- properties for schema1 here -->
        </properties>
    </persistence-unit>
    <persistence-unit name="test2">
        <class>com.test.test2</class>
        <properties>
                  <!-- properties for schema 2 here -->
        </properties>
    </persistence-unit>
</persistence>

このエラーが表示されるのはなぜですか。2 dbスキーマに対して異なる構成を行う必要がありますか?

4

1 に答える 1

2

Eclipse(またはより具体的にはDali)には制限があり、2つの永続性ユニットをサポートしていません。それは彼らのページでも語られています:

現在、Daliはプロジェクトごとに1つの永続性ユニットと1つの永続性XMLファイルのみをサポートしています。JPAプロジェクトには他の構成が存在する可能性がありますが、複数の永続性ユニットが使用されている場合、検証とデフォルトの処理が正しくない可能性があります。

JPA自体に関しては、persistence.xmlは正しいようです。2つの永続ユニットに同じクラスを追加する必要はありません。

于 2012-07-27T13:55:42.780 に答える