0
나는이 기괴한 문제를 발견했습니다.Dataconfig - 엔티티에서 하위 엔티티의 수에 제한이 있습니까?
내 dataconfig 파일에 루트 엔티티와 15 개의 다른 하위 엔티티가 있습니다. 전체 가져 오기를 시도하면 다음 오류가 발생합니다.
오류 로그 : 내 데이터베이스에 대해 오류 로그에서 쿼리를 실행하면
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select fruitName from fruits where id = '2' Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:252)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:209)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:38)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:472)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:498)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:411)
... 5 more
Caused by: java.lang.ClassNotFoundException: Unable to load null or org.apache.solr.handler.dataimport.null
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:899)
at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:159)
at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:127)
at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:362)
at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:38)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:239)
... 13 more
Caused by: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:385)
at org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:889)
... 18 more
, 나는 오류를 발견하지 말아. 엔티티 순서를 바꿔 보았습니다. 오류 로그에서 매번 마지막 엔티티의 쿼리를 찾습니다.
하지만 임의의 엔티티를 제거하면 전체 가져 오기가 성공합니다.
하위 엔티티/필드의 수에 어떤 종류의 제한이 부과 되었습니까? 클래스 "null"을로드하려고하는 이유는 무엇입니까? 내가 놓친 게 있니?
도움이 되었으면 좋겠습니다.
편집 : 내 dataconfig.xml의
레이아웃 :
<dataconfig>
<document>
<entity name = "outer_entity" query="select id from outerTable">
<entity name = "subEntity1" query="select value1 from subEntity1">
</entity>
<entity name = "subEntity2" query="select value2 from subEntity2">
</entity>
..........
<entity name = "subEntity14" query="select value14 from subEntity14">
</entity>
<entity name = "subEntity15" query="select value15 from subEntity15">
</entity>
</entity>
</document>
</dataconfig>
쿼리가 모든 행을 반환합니까? id = '2'과일에서 fruitName을 선택하십시오. – JHS
No .. 과일 테이블에 id = '2'에 대한 항목이 없으므로 반환 된 행이 없습니다. – Mavellin
어떤 DB를 사용하고 있습니까? – JHS