Мне нужно отсортировать pojo разных типов данных, таких как учащимся, сотрудникам, пациентам по возрасту и сохранить их в массиве. Затем запишите его в плоский файл, используя beanio.
По json я отправляю запрос, который может иметь массив из студента, сотрудника и пациента. У меня есть 3 pojo на стороне java, например, студент, работник, пациент, для хранения данных из запроса json.
Я могу объединить и затем отсортировать весь массив объектов, таких как студент, работник, пациент, в единый массив класса, который является базовым классом студента, сотрудника, пациента, такого как человек. Человеческий класс, который я должен сделать, чтобы я мог отсортировать все 3 дочерних класса, используя Comparator, по возрасту свойства.
class SortbyAge implements Comparator<Human>
{
// Used for sorting in ascending order of
// age
public int compare(Human a, Human b)
{
return a.getAge() - b.getAge();
}
}
Здесь все в порядке.
Я могу сортировать данные в зависимости от возраста и сохранять их в массиве людей.
Проблема в том, что я записываю отсортированные данные в плоский файл, используя beanio.
** когда я записываю данные в плоский файл, я получаю исключение ниже исключения
org.beanio.BeanWriterException: сбой идентификации компонента: нет записи или сопоставления группы для класса компонента 'класс [Lcom.amex.ibm.model.Human;' в текущей позиции **
Я записал все 4 тега в XML-файл, как показано ниже.
<record name="student" class="com.amex.ibm.model.Student" occurs="0+" maxLength="unbounded">
<field name="name" length="3"/>
<field name="age" length="8"/>
<field name="address" length="15"/>
</record>
<record name="employee" class="com.amex.ibm.model.Employee" occurs="0+" maxLength="unbounded">
<field name="name" length="3"/>
<field name="age" length="8"/>
<field name="address" length="15"/>
</record>
<record name="patient" class="com.amex.ibm.model.Patient" occurs="0+" maxLength="unbounded">
<field name="name" length="3"/>
<field name="age" length="8"/>
<field name="address" length="15"/>
</record>
<record name="human" class="com.amex.ibm.model.Human" occurs="0+" maxLength="unbounded">
<field name="age" length="3"/>
</record>
Как определить отображение родительского класса в бине IO ??