2013-05-07 1 views
0

ObjectDB라는 JPA 구현을 사용하려고합니다. ObjectDB 용 jar 파일을 다운로드하여 Eclipse에서 프로젝트에 포함 시켰습니다. 이 두 클래스입니다 :JPA ObjectDB : 컴파일하고 사용하십시오.

package tutorial; 

import java.io.Serializable; 
import javax.persistence.*; 

@Entity 
public class Point implements Serializable { 
private static final long serialVersionUID = 1L; 

@Id @GeneratedValue 
private long id; 

private int x; 
private int y; 

public Point() { 
} 

Point(int x, int y) { 
    this.x = x; 
    this.y = y; 
} 

public Long getId() { 
    return id; 
} 

public int getX() { 
     return x; 
} 

public int getY() { 
    return y; 
} 

@Override 
public String toString() { 
    return String.format("(%d, %d)", this.x, this.y); 
} 
} 

이 메인입니다 :

이 작은 프로그램은 수행하여 이클립스에서 작동
package tutorial; 

import javax.persistence.*; 
import java.util.*; 

public class Main { 

public static void main(String[] args) { 
    // Open a database connection 
    // (create a new database if it doesn't exist yet): 
    EntityManagerFactory emf = 
     Persistence.createEntityManagerFactory("$objectdb/db/points.odb"); 
    EntityManager em = emf.createEntityManager(); 

    // Store 1000 Point objects in the database: 
    em.getTransaction().begin(); 
    for (int i = 0; i < 1000; i++) { 
     Point p = new Point(i, i); 
     em.persist(p); 
    } 
    em.getTransaction().commit(); 

    // Find the number of Point objects in the database: 
    Query q1 = em.createQuery("SELECT COUNT(p) FROM Point p"); 
    System.out.println("Total Points: " + q1.getSingleResult()); 

    // Find the average X value: 
    Query q2 = em.createQuery("SELECT AVG(p.x) FROM Point p"); 
    System.out.println("Average X: " + q2.getSingleResult()); 

    // Retrieve all the Point objects from the database: 
    TypedQuery<Point> query = 
     em.createQuery("SELECT p FROM Point p", Point.class); 
    List<Point> results = query.getResultList(); 
    for (Point p : results) { 
     System.out.println(p); 
    } 

    // Close the database connection: 
    em.close(); 
    emf.close(); 
} 
} 

: 으로 실행 -> Java 응용 프로그램

내가 시도하는 경우를 컴파일하려면 다음과 같이하십시오 :

등등. 내 프로젝트에 External Jar를 포함 시켰기 때문에 이상합니다. ObjectDb 용 실행 파일이 들어있는 jar 파일 ... 이 문제를 해결할 수 있습니까?

답변

1

클래스 경로에 JPA 라이브러리를 추가해야합니다.

+0

ehm ... 어떻게해야합니까? 감사합니다 – user1576208

+0

http://sourceforge.net/projects/hibernate/files/hibernate4/4.2.1.Final/hibernate-release-4.2.1.Final.zip/download에서 hibernate orm 라이브러리 (최대 절전 모드는 jpa 제공 업체)를 다운로드하십시오. 당신의 식에 항아리를 추가하십시오. –

+0

Eclipse에 항아리를 추가했지만 문제는 java.persistence가 존재하지 않는다고했기 때문에 (javac Main.java) 컴파일 할 수 없다는 것입니다. 그러나 Eclipse에서 추가했습니다. – user1576208

2

위와 같이 클래스 경로를 설정해야합니다.

클래스 경로에는 ObjectDB 데이터베이스 구현 외에도 필요한 모든 JPA 유형 (예 : EntityManagerFactory)을 포함하는 objectdb.jar를 추가 할 수 있습니다.

그래서 윈도우에서 명령 줄 수 :

> javac -classpath .;c:\objectdb\bin\objectdb.jar tutorial\*.java 

현재 디렉토리 자습서 패키지 디렉토리의 상위 디렉토리 인 경우.