Я использую solrj
в своем проекте и, следуя этому учебнику, я создал объект класса
public class Student {
@Field String id;
public Student(String studentId) {
this.id = studentId;
}
//setter and getter methods here
}
И использовал следующий код для извлечения данных из Solr и привязки ответа к Student
объекту
final SolrClient client = getSolrClient();
final SolrQuery query = new SolrQuery("*:*");
query.addField("id");
final QueryResponse response = client.query("collection-name", query);
final List<Student> students = response.getBeans(Student.class);
В последней строке я получаю сообщение об ошибке. org.apache.solr.client.solrj.beans.BindingException: Could not instantiate object of class Student
Но когда я добавляю конструктор public Student() { }
в класс Student, он работает нормально. У меня вопрос: почему это не сработало в первом случае или почему здесь необходимо создать непараметрический конструктор?