Supponiamo che abbia queste classi:
@Entity
@Data
class Student{
@Size(min = 8)
public String name;
public int age;
...
}
@Data
class StudentDTO{
@Size(min = 8)
public String name;
....
}
Per ridurre le annotazioni duplicate, ho scoperto un trucco semplice come questo:
interface HasName {
@Size(min=8)
String getName();
}
@Entity
@Data
class Student implements HasName {
public String name;
public int age;
}
@Data
class StudentDTO implements HasName{
public String name;
}
Potrebbero esserci più campi.
Pro:
- Nessuna annotazione duplicata
- L'annotazione sarà unificata
Contro:
- Aumenta la complessità
- Aumenta la dipendenza
Ma sembra un odore di codice per me, quindi è buono o cattivo?