2012-05-13 3 views
0

프로그램을 통해 데이터를 가져 오는 동안 몇 가지 문제가 있습니다. objectDB를 데이터베이스로 사용하고 있습니다. 또한 데이터베이스가 이미 설정되어 있고 objectDB 설치의 db 폴더에 laptop.odb 파일을 저장하지 않았습니다. 또한, 때 나는 탐색기로 이동하여 쿼리를 화재 :프로그램에서 objectdb 데이터베이스의 값을 가져 오는 중

select this.modelName == "HP Pavillion"

올바른 결과가 온다. 내가 같이 내 코드와 같은 일을하려고 할 때 단, 어떤 결과가 반환되지 않습니다 여기

public static void main(String argv[]) {
PersistenceManager pm = Utilities.getPersistenceManager("laptop.odb"); System.out.println("-- TEST --\n");
Query query = pm.newQuery(Laptop.class,"this.modelName == \"HP Pavillion\""); Collection result = (Collection)query.execute(); System.out.println("Result is >> "+result);

를 다음과 같습니다. 내 출력은 다음과 같습니다
- TEST 찾기 -

결과는 >> [] 클래스에 대한

내 코드는 다음과 같다.

package com.project; 

    import java.util.*; 

    import javax.annotation.processing.Processor; 
    import javax.jdo.*; 

    import com.objectdb.Utilities; 

    public class Laptop { 

     String modelName; // key 

public static void main(String argv[]) { 
     PersistenceManager pm = Utilities.getPersistenceManager("laptop.odb"); 
     System.out.println("-- TEST find --\n"); 
     Query query = pm.newQuery(Laptop.class,"this.modelName == \"HP Pavillion\""); 
     Collection result = (Collection)query.execute(); 
     System.out.println("Result is >> "+result); 

} 

의견이 있으십니까?

답변

1

"laptop.odb"은 기존의 ObjectDB 데이터베이스가 아닌 것입니다. 이 경우 새 데이터베이스가 자동으로 생성됩니다. 새 데이터베이스는 비어있게 만들어 지므로 쿼리에서 결과가 반환되지 않습니다.

기존 데이터베이스의 절대 경로를 지정하십시오.

+0

laptop.odb 파일을 거기에 놓을 수 있도록 데이터베이스를 만드는 기본 위치는 무엇이며 따라서 프로그램이 다시 만들지 않습니다. 감사합니다 –

+0

기본 위치는 현재 디렉토리 (운영체제 개념)이지만 "$ objectdb/laptop.odb"를 사용하는 경우 http://www.objectdb.com에 정의 된대로 ObjectDB 홈 디렉토리입니다./java/jpa/setting – ObjectDB

+0

감사합니다. http://stackoverflow.com/questions/10637513/query-in-objectdb#comment13789895_10637513에 게시 된 나에게 또 다른 질문에 답변 해 주실 수 있습니까? 미리 감사드립니다. –

관련 문제