7

Oracle9i データベースで動作するアプリケーションに JPA2.0 を導入しています。ライブラリ EclipseLink(JPA2.0) を追加し、エンティティ クラスを作成しましたが、

javax.persistence.criteria.CriteriaQuery cq = em.getCriteriaBuilder().createQuery();

次のエラーが表示されます

シンボル symbol が見つかりません: メソッド getCriteriaBuilder() 場所: インターフェース javax.persistence.EntityManager

私のweb.xmlはバージョン2.4で、これが私のpersistence.xmlです

<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="MiraclinPU" transaction-type="JTA">
    <jta-data-source>jdbc/Miraclin</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
   </persistence-unit>
</persistence>

フォーラムで読んだところ、アプリはJPA1.0を使用しているようです...誰か助けてくれますか?

4

5 に答える 5

5

使用する:

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.1.Final</version>
    </dependency>

そしてそうではありません:

    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>
于 2013-10-15T20:33:58.663 に答える
4

プロジェクトに含まれているすべてのライブラリを検索し、必要なものを除き、persistence.xml を含むライブラリを削除します。その後、それらを再度含めます。

于 2012-04-26T10:37:36.750 に答える