2014-06-20 61 views
0

나는 쿼리 메소드를 가지고 있습니다. 나는 자바에서 db40을 사용한다.자바에서 db4o의 객체에 필드를 얻습니다.

public static void checkQuery(ObjectContainer db, final String nameFish) { 
    ObjectSet result = db.query(new Predicate<WaterFish>() { 

     @Override 
     public boolean match(WaterFish fish) { 
      // TODO Auto-generated method stub 
      return fish.getGeneral_information().getVietnamese_name() 
        .contains("Ông tiên"); 
     } 
    }); 
    listResult(result); 

} 

결과에는 fish {nameFish, distribution} 및 image가 포함되어있다. 물고기 개체의 nameFish 필드를 얻는 방법은 무엇입니까 어떻게 결과에서 유일한 필드를 얻을 수 있습니까? 감사합니다

답변

0

db4o (적어도 2012 년 1 월까지) 전체 개체 만로드 할 수 있습니다. 자주 사용하지 않는 데이터 (필드)를 보유하는 새로운 클래스를 소개하고 필요한 경우이 데이터를로드하려면 transparent activation에 의존하는 것과 같은 몇 가지 트릭을 사용할 수 있습니다 (아래 코드와 유사).

class FishData 
{ 
    private Image picture; 

    // other fields, getters/setters etc 
} 

class Fish 
{ 
    private string name; 
    private FishData data; 

    // other fields, getters/setters etc 
}