Гибернация префикса столбца для таблицы

У меня есть существующая база данных, в которой каждая таблица имеет свой префикс столбца. Это означает, что каждый столбец в таблице начинается с одних и тех же 5 символов. Например exec_ или opos_. Теперь я хочу начать использовать спящий режим в качестве ORM для этой базы данных и объектов POJO.

Моя проблема в том, что код, который я получил с базой данных, имеет абстрактный класс, который расширен тремя разными POJO. Это означает, что у меня есть 3 таблицы с 3 разными префиксами, но несколько общих столбцов (все они начинаются с разных префиксов, в зависимости от таблицы). Это мешает мне просто определить @Column(name = <col_name>) для каждого поля.

Мой вопрос: есть ли способ определить этот префикс для каждой таблицы, которая будет автоматически добавляться в начале, или какой вариант я должен использовать?

Аннотации статичны, поэтому, вероятно, для этого невозможно использовать простой java / spring.

Lino 10.08.2018 14:46

Префикс статичен для каждой таблицы. Я бы добавил аннотацию к объектам POJO, расширяющим суперкласс. Это означает, что если я обращаюсь к POJO A, то префикс A будет добавлен к сопоставленным столбцам суперкласса. Если я получаю доступ к POJO B, то префикс B будет добавлен к сопоставленным столбцам суперкласса.

XtremeBaumer 10.08.2018 14:50

Думаю, @AttributeOverride тоже подойдет, но для 20+ столбцов в суперклассе это было бы довольно неудобно.

XtremeBaumer 10.08.2018 14:52

наследование не очень хорошо работает со статическими объектами. В вашем случае аннотации. Это похоже на определение переменной static в вашем суперклассе, а затем каждый подкласс изменяет значение указанной переменной. Что будет выбрано в итоге? Извините, но без дополнительных инструментов генерации я думаю, что это невозможно.

Lino 10.08.2018 14:53

Дело не в наследовании. Это просто о добавлении некоторого значения перед именами столбцов. Если вам это более понятно, то вы можете проигнорировать часть о суперклассе.

XtremeBaumer 10.08.2018 14:56
0
5
241
0

Другие вопросы по теме