У меня есть объекты 3 разных классов, которые будут обрабатываться одним компонентом. Эти объекты соответствуют 3 различным таблицам в БД. Все 3 дочерних класса имеют большинство своих полей и имеют одно свойство, уникальное для каждого из них. Бин предназначен для извлечения и отображения таблицы всех существующих записей всех 3 классов. Я создал родительский класс, потому что подумал, что это поможет упростить часть, в которой компонент обрабатывает таблицу всех записей в представлении
//The parent class doesn't actually exist in the DB
public class Report{
//fields shared by all 3 subclasses
//Do I put @Column here?
private long id;
protected String sharedField1, sharedField2, sharedField3;
}
@Entity
@Table(name="report_type_a")
public class ReportA extends Report{
//only this field is unique to this particular child class
private String reportAField;
}
@Entity
@Table(name="report_type_b")
public class ReportB extends Report{
//only this field is unique to this particular child class
private String reportBField;
}
@Entity
@Table(name="report_type_c")
public class ReportC extends Report{
//only this field is unique to this particular child class
private String reportCField;
}
public class ReportBean{
//a list containing objects of all 3 types to be displayed to the user later
private ArrayList<Report> reportList;
}
Весенние аннотации идут в родительском или дочернем элементе? Что еще более важно, это хороший способ справиться с этой проблемой? Будет ли больше смысла обходиться без родительского класса?