2016-11-28 6 views
0

데이터베이스에 대해 다음 쿼리 엔터티를 작성했습니다. 인덱스 매핑을 위해 서버 노드를 시작하기 위해이 파일을 제공합니다. 일부 데이터로드는 클라이언트 노드 점화를 통해 수행됩니다. QueryEntity 사용 후 Null 쿼리 출력 받기

<beans xmlns="http://www.springframework.org/schema/beans" 
 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
     xsi:schemaLocation=" 
 
     http://www.springframework.org/schema/beans 
 
     http://www.springframework.org/schema/beans/spring-beans.xsd"> 
 
    <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> 
 
     
 
\t <property name="peerClassLoadingEnabled" value="false"/> 
 
\t <property name="cacheConfiguration"> 
 
      <list> 
 
      
 
       <!-- Partitioned cache example configuration (Atomic mode). --> 
 
      <bean class="org.apache.ignite.configuration.CacheConfiguration"> 
 
     \t <property name="name" value="warehouse_cache"/> 
 
\t \t  <property name="backups" value="0"/> 
 
\t \t  <property name="copyOnRead" value="true"/> 
 
\t \t  <property name="memoryMode" value="ONHEAP_TIERED"/> 
 
\t \t  <property name="cacheMode" value="PARTITIONED"/> \t 
 
\t \t \t 
 
\t \t \t <!-- Configure query entities --> 
 
\t \t \t <property name="queryEntities"> 
 
\t \t \t \t <list> 
 
\t \t \t \t \t <bean class="org.apache.ignite.cache.QueryEntity"> 
 
\t \t \t \t \t \t <property name="keyType" value="java.lang.Long"/> 
 
\t \t \t \t \t \t <property name="valueType" value="schema.warehouse"/> 
 

 
\t \t \t \t \t \t <property name="fields"> 
 
\t \t \t \t \t \t \t <map> 
 
\t \t \t \t \t \t \t \t <entry key="w_id" value="java.lang.Integer"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_name" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_street_1" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_street_2" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_city" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_state" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_zip" value="java.lang.String"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_tax" value="java.lang.Double"/> 
 
\t \t \t \t \t \t \t \t <entry key="w_ytd" value="java.lang.Double"/> 
 
\t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t </map> 
 
\t \t \t \t \t \t </property> 
 

 
\t \t \t \t \t \t <property name="indexes"> 
 
\t \t \t \t \t \t \t <list> 
 
\t \t \t \t \t \t \t \t <bean class="org.apache.ignite.cache.QueryIndex"> 
 
\t \t \t \t \t \t \t \t \t <constructor-arg value="w_id"/> 
 
\t \t \t \t \t \t \t \t </bean> 
 
\t \t \t \t \t \t \t </list> 
 
\t \t \t \t \t \t </property> 
 
\t \t \t \t \t </bean> 
 
\t \t \t \t </list> 
 
\t \t \t </property> \t \t 
 
\t   </bean> 
 
      
 
      
 
      </list> 
 
    </property> 
 
\t 
 
    </bean> 
 
</beans>

이웨어 하우스 테이블의 모든 항목

은 ( ignitevisorcmd.sh를 사용하여 확인) 올바르게로드됩니다. 이 질의 엔티티에 대해웨어 하우스 클래스가 들어있는 패키지 스키마의 jar 파일을 만들었습니다. 이 jar 파일을 apache의 설치 경로에있는 libs 폴더에 보관했습니다. 이웨어 하우스 테이블에 대해 쿼리를 실행하면 null 출력이 나타납니다. 왜 이런 일이 일어나는 걸까요?

답변

0

구성의 값 유형은 의심스러운 :

<property name="valueType" value="schema.warehouse"/> 

이 값은 올바른 값 클래스 이름 있는지 확인합니다. 또한 어떤 쿼리를 실행하고 있습니까?

+0

패키지웨어에 클래스웨어 하우스를 포함하는 warehouse.java를 추가했습니다. 왜 내가 schema.warehouse를 썼는지. 실행중인 쿼리는'SELECT * from warehouse w WHERE w.w_id = 1'이고 w_id = 1에 해당하는 항목은웨어 하우스 캐시에 있습니다. – rishi007bansod