Есть таблица с 30 и более полями.Я сделал несколько абстрактных классов и один класс (класс финиша)… Производим.Над абстрактными классами я помещаю аннотацию @ MappedSuperclass
Например, я использую по 5 полей для каждого класса.
@MappedSuperclass
public abstract class OneBaseAbstract {
private Long id;
private String name;
public OneBaseAbstract() {
}
/*
getters
setters*/
/ *
equals and hashCode
*/
@Override
public String toString() {
return "OneBaseAbstract{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
@MappedSuperclass
public abstract class TwoBaseAbstract extends OneBaseAbstract{
private Integer num;
private String mark;
public TwoBaseAbstract() {
super();
}
/*
getters
setters*/
/ *
equals and hashCode
*/
@Override
public String toString() {
String superString = super.toString();
return superString + "TwoBaseAbstract{" +
"num=" + num +
", mark='" + mark + '\'' +
'}';
}
}
@Entity
@Table(name = "name_table")
public class Produce extends TwoBaseAbstract {
private String name;
private String product;
public Produce() {
super();
}
/*
getters
setters*/
/ *
equals and hashCode
*/
@Override
public String toString() {
String superString = super.toString();
return superString + "Produce{" +
"name='" + name + '\'' +
", product='" + product + '\'' +
'}';
}
}
Класс вызывает , который создает целые сущности и заполняет поля, которые будут соответствовать таблице.Я использую MapStruct для преобразования между DTO и ENTITY .
Я также сделал Dto как структура Сущность .
Мне сказали, что это плохо.Является ли способ правильным и будет вычислять equals и hachCode для всего готового объекта, если я буду использовать этот объект в коллекциях?