Я хочу знать, есть ли способ настроить имя геттеров и сеттеров @MappedSuperclass
.Я знаю, что это глупый вопрос, зная, что обычно вы продлеваете @MappedSuperclass
и, конечно, его получатели и установщики, но все же хотели спросить.
У меня есть вот что:
Давайте предположим, что у меня есть пара модулей в моем проекте, в которых я хочу использовать общий базовый класс с именем "Inventory", у этого класса есть базовые свойства, а также геттеры и разделители:
@MappedSuperclass
public class Inventory{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private String inventoryId = RandomStringUtils.randomAlphanumeric(5).toUpperCase();
public Inventory() {
}
public Inventory(String name, String inventoryId) {
this.name= nombre;
this.inventoryId = inventoryId;
}
public String getName() {
return name;
}
public Inventario setName(String nombre) {
this.name = name;
return this;
}
public String getInventoryId() {
return inventoryId;
}
public Inventario setInventoryId(String inventoryId) {
this.inventoryId = inventoryId;
return this;
}
}
И, конечно, у меня есть другой класс, который расширяет класс Inventory, например:
@Entity
@Table(name = "Tb_CKD_INVENTORY")
@AttributeOverrides({
@AttributeOverride(name = "name", column = @Column(name="ckdInventoryName")),
@AttributeOverride(name = "inventoryId", column = @Column(name="ckdInventoryName"))
})
public class CkdInventory extends Inventory{
public CkdInventory() {
}
}
Как видите, я переопределяю свойства с помощью аннотации @ AttributeOverride , но затемкогда я создаю экземпляр класса, методы получения и установки все еще называются в качестве имени базового класса.
Я знаю, что это очень глупый вопрос, но я просто хотел узнать, есть ли способ достичь этого, поскольку я не знаю ни одной аннотации, которая могла бы выполнить эту простую задачу, или мне просто нужно использовать базовые методы класса и немного запутаться в моих классах бизнес-реализацийи удобочитаемость