Как расширить или манипулировать методом получения и установки столбца JPA, чтобы его тип возвращаемого значения был другим перечислителем? - PullRequest
0 голосов
/ 19 апреля 2019

Допустим, у меня есть класс A и интерфейс A. В классе AI есть метод, который выглядит следующим образом:

    @Override
    @Basic(optional = false)
    @Column(name = "SOME_COLUMN")
    @Enumerated(EnumType.STRING)
    public Enumerator getType() {
        return type;
    }

Однако я хочу расширить класс A. Давайте назовем этот дочерний класс B.

В классе B я хочу переопределить этот метод, чтобы он возвращал:

    @Override
    @Basic(optional = false)
    @Column(name = "SOME_COLUMN")
    @Enumerated(EnumType.STRING)
    public ExtEnumerator getType() {
        return type;
    }

Технически это невозможно, поскольку мы не можем расширять перечислители, поэтому этот тип возврата недопустим.Мне было интересно, есть ли обходной путь JPA для создания геттера, который ссылается на тот же столбец, но все еще может возвращать ExtEnumerator, который содержит все те же свойства, что и у "Enumerator", кроме дополнительного поля?

причина, по которой я спрашиваю, состоит в том, что я имею дело с проприетарным кодом, поэтому я не могу изменить какой-либо код в базовых классах / enum, иначе я мог бы просто добавить дополнительное свойство в перечисление "Enumerator".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...