У меня есть база данных с одной таблицей words
, поэтому моя Model
в ActiveJDBC равна Word
.
Когда строка из базы данных приводится к модели Word
, я хочу выполнить некоторые дополнительные операции, такие как преобразование некоторых данных в перечисления для лучшей абстракции.
Я добавил в модель конструктор, который вызывается соответствующим образом, но попытка доступа к каким-либо данным возвращает null
. Вот класс Word
(сокращенно):
public class Word extends Model {
private static final Logger log = LogManager.getLogger(Word.class);
public static final String SPELLING = "ortho";
public Word() {
log.info("In constructor");
log.info("Word spelling: " + getSpelling());
}
public String getSpelling() {
return this.getString(SPELLING);
}
}
но получаю в логах следующее:
10:31:49.372 [main] INFO Word - In constructor
10:31:49.373 [main] INFO Word - Word spelling: null
Мне нужно иметь возможность преобразовать некоторые из этих полей в перечисления и манипулировать ими другими способами, чтобы их было легче использовать.
Должен ли я оставить Word
пустым классом, например:
public class Word extends Model {}
и пусть другой класс возьмет его в конструктор? Это создало бы много ненужного мусора, особенно при работе с List<Word>
... как лучше всего манипулировать данными во время создания объекта Model
в ActiveJDBC?