2011-10-06 3 views
0

JPA에서 MySql 데이터베이스를 사용하고 있습니다. 난 항상 다시 널 올자바 영속성 엔티티 관리자 팩토리가 null을 반환합니다.

EntityManagerFactory emf = Persistence.createEntityManagerFactory("citheph"); 
EntityManager em = emf.createEntityManager(); 

기전력을 다음을 수행 내 자바 코드에

<?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="citheph"> 
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
     <class>persistence.citheph.pTerm</class> 
     <class>persistence.citheph.pPublicationterm</class> 
     <class>persistence.citheph.pPublicationauthor</class> 
     <class>persistence.citheph.pPublication</class> 
     <class>persistence.citheph.pCoauthorship</class> 
     <class>persistence.citheph.pCitation</class> 
     <class>persistence.citheph.pAuthor</class> 
     <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/cithepth" /> 
      <property name="javax.persistence.jdbc.password" value="amer1" /> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
      <property name="javax.persistence.jdbc.user" value="root" /> 
     </properties> 

    </persistence-unit> 
</persistence> 

처럼 내 persistence.xml을 보인다. 데이터베이스가 연결되고 성공적으로 핑합니다. persistance.xml의 항목과 일치하지 않는 항목으로 persistence-unit 이름을 변경하려고 시도했지만 여전히 null이 표시됩니다. 예외를 던지지는 않습니다. 코드의 두 번째 줄에 도착하면 당연히

EntityManager em = emf.createEntityManager(); 

널 포인터 예외가 발생합니다.

어떤 도움을 주시면 대단히 감사하겠습니다.

답변

0

최상의 성능으로 로그온하고 영속성 단위를로드하는 중에 오류가 발생하지 않았는지 확인하십시오.

어떤 환경을 사용하고 있습니까? 클래스 패스에 필요한 모든 병이 있습니까?

+0

에 감사드립니다. 나는 eclips보다 하나의 persistence claases를 위해 다른 라이브러리를 사용하고 있었다. 시간 내 주셔서 감사합니다 – Amer

+0

어떻게 로깅을 최우선으로 설정합니까? –

0

persistence.xml 파일이 META-INF 폴더에 있는지 확인하십시오.

+0

예. 그것은 src/META-INF/ – Amer

관련 문제