Как переопределить методы в сущности, расширенной MappedSuperclass - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу знать, есть ли способ настроить имя геттеров и сеттеров @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 , но затемкогда я создаю экземпляр класса, методы получения и установки все еще называются в качестве имени базового класса.

Я знаю, что это очень глупый вопрос, но я просто хотел узнать, есть ли способ достичь этого, поскольку я не знаю ни одной аннотации, которая могла бы выполнить эту простую задачу, или мне просто нужно использовать базовые методы класса и немного запутаться в моих классах бизнес-реализацийи удобочитаемость

...