2013-07-08 3 views
1

다음 작품 :MarkLogic Java API - JAXB를 사용하는 QueryManager? 잘

XMLDocumentManager docMgr = client.newXMLDocumentManager(); 

JAXBContext context = JAXBContext.newInstance(Document.class); 
JAXBHandle jaxbHandle = new JAXBHandle(context); 
docMgr.read(
    "/masters/1337-12/t/1439-1074_2013_2_toc.xml", 
    jaxbHandle); 

Assert.assertNotNull(jaxbHandle); 

Document document = (Document) jaxbHandle.get(); 

하지만 다음과 같이 검색을 할 필요가 제가 문서 URI를 모르는 경우 내가 할 수 :

StructuredQueryBuilder qb = new StructuredQueryBuilder(
    "OPTIONS_NAME"); 
StructuredQueryDefinition querydef = qb.valueConstraint("tocId", 
    tocId); 
// contains RAW data - 
StringHandle resultsHandle = queryMgr.search(querydef, new StringHandle()); 

을 어떻게이 결과를 변환 할 수 있습니다 JAXB와 함께?

+0

자바 API가 매우 느리기 때문에 (지금 테스트 중) XCC .. – user1731299

+0

으로 전환하십시오. Java API의 성능이 사용자의 기대치를 충족시키지 못했던 부분을 더 잘 이해할 수 있습니다. 더 자세한 정보를 제공 할 수 있습니까? –

답변

2

검색 결과 POJO 인터페이스의 경우 기본 제공 SearchHandle 클래스를 사용하십시오.

JAXB는 트리 데이터 구조를 Java 객체에서 XML로 라운드 트립하고 뒤로 가져올 때 사용하기가 가장 쉽습니다 (따라서 자신의 컨텐츠에 유용합니다).

성능 측면에서 XCC는 문서의 직접 작업을위한 Java API보다 빠릅니다. 이것이 MLCP가 섭취에 XCC를 사용하는 이유입니다. 성능 차이는 데이터베이스와 상호 작용하는 대부분의 응용 프로그램 (특히 REST API에 의해 노출되는 부가 가치 서비스가 필요한 응용 프로그램)에서는 중요하지 않습니다.

관련 문제