2012-04-24 15 views
5

मैं अपने आवेदन Oracle9i डाटाबेस पर काम करने में JPA2.0 शुरू कर रहा हूँ नहीं है और मैं पुस्तकालयों EclipseLink (JPA2.0) जोड़ा गया है और इकाई वर्गों बनाया लेकिन जब मैं का उपयोगइकाई प्रबंधक विधि getCriteriaBuilder()

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

मैं निम्नलिखित त्रुटि मिलती है

नहीं मिल सकता है प्रतीक प्रतीक: विधि 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 उपयोग कर रहा है के रूप में मैं मंचों पर पढ़ें ... किसी को भी मदद कर सकते हैं?

+1

दृढ़ता-1.0.jar या इसी तरह के एक जार को ढूंढें, इसे क्लासपाथ से हटा दें और उसे एक स्थिरता-2.0.jar या इसी तरह से बदलें। यह सब –

+1

मैंने इसे एक विशाल जैस्परलिब ejb3-persistence.jar में पाया, मैंने पूरी लाइब्रेरी को हटा दिया और यह काम किया ... धन्यवाद। – Questionmark

+0

अच्छा। अब आपको इसे एक उत्तर के रूप में लिखना चाहिए और उस उत्तर को स्वीकार करना चाहिए। –

उत्तर

5

अपनी प्रोजेक्ट में शामिल सभी पुस्तकालयों में खोजें, और जो आपको चाहिए उसे छोड़कर persistence.xml वाले लोगों को हटा दें। फिर उन्हें दोबारा शामिल करें।

0

आपके पास अपने क्लासपाथ में ejb3-persistence.jar है।

इसके इकाई प्रबंधक के पास यह विधि नहीं है।

0

संभवतः

import javax.persistence.criteria.*; 

गायब हैं?

3

उपयोग:

<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> 
2

ग्रहण में:

  • परियोजना -> गुण -> जावा बिल्ड पथ -> कॉन्फ़िगर पथ का निर्माण -> पुस्तकालय
  • javax/persistente
  • के संदर्भ हटाएं
  • हाइबरनेट-जेपीए-2.0-api- के लिए एक संदर्भ डालने/संस्करण /.jar

सत्यापित करने का तरीका:

अपने sourceDAO.java प्रेस में

F3 EntityManagerFactory में और क्या लग रहे हो। जार ग्रहण खुला।

संबंधित मुद्दे