2013-08-23 7 views
1

.db4o 파일을 열어 보겠습니다. 데이터베이스에 포함 된 고유 한 Java CLASSES/TYPES 목록을 생성하는 Java 코드 (psuedo)는 무엇입니까?db4o - .db4o DB 파일에 포함 된 클래스의 고유 목록을 얻으려면 어떻게해야합니까?

나는 내가 할 수있는 코드를 작성할 수 있는지,하지만 나는 그것이 매우 느릴 수 두렵다. 데이터베이스의 모든 개체를 쿼리하지 않고이 작업을 수행 할 수있는 좋은 방법이 있습니까? 어떤 종류의 색인을 사용할 수 있습니까? 차라리 데이터베이스에 대한 저장 메타 데이터에 의존하지 않는 게 좋을

, 나는 오히려 객체가 실제로 내에 저장되어있는 일에 대해 진정한 정보에 의존하는 것입니다.

답변

0

당신은 같은 (C 번호를 사용할 수 있지만 쉽게 ExtObjectContainer 인터페이스에서 더 흥미로운 방법이 자바 :

const string DatabaseFileName = "c:\\temp\\Learning.odb"; 
static void Main(string[] args) 
{ 
    using (var db = Db4oEmbedded.OpenFile(DatabaseFileName)) 
    { 
     var classes = db.Ext().StoredClasses(); 
     foreach (var @class in classes) 
     { 
      Console.WriteLine(); 
      Console.WriteLine(@class.GetName()); 
      foreach (var field in @class.GetStoredFields()) 
      { 
       Console.WriteLine("\t{1} {0}", field.GetName(), field.GetStoredType().GetName()); 
      } 
     } 
    } 
} 

참고로 변환 할 수 있습니다.

희망이 도움이됩니다.