I encountered the problem with Oracle converting column names to upper case. As a result SolrInputDocument is created with field names in upper case and "Document [null] missing required field: id" exception is thrown ( although ID field is defined ).
I do not specify "field" elements explicitly. I know that I can rewrite all my queries to "select id as "id", body as "body" from document" format, but is there any other workaround for this? case insensitive option or something? Here's my data-config: <dataConfig> <dataSource convertType="true" driver="oracle.jdbc.driver.OracleDriver" password="oracle" url="jdbc:oracle:thin:@localhost:1521:xe" user="SYSTEM"/> <document name="items"> <entity name="root" pk="id" preImportDeleteQuery="db:db1" query="select id, body from document" transformer="TemplateTransformer"> <entity name="nested1" query="select category from document_category where doc_id='${root.id}'"/> <entity name="nested2" query="select tag from document_tag where doc_id='${root.id}'"/> <field column="db" template="db1"/> </entity> </document> </dataConfig> Alexey