У меня есть база данных с одной таблицей words
, поэтому мой Model
в ActiveJDBC - Word
.Выполнение дополнительных операций при построении модели ActiveJDBC
Когда строка из базы данных отлита по модели 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?
Эй Игорь, я прочитал документацию, но не все, что связано с обратными вызовами не видел. Я использую Rails, поэтому я разочарован в себе, даже не задумываясь об этом! Это именно то, что я искал, большое спасибо! PS - Мне нравится твоя работа на ActiveJDBC. Это сделало мое кодирование более приятным :) –
удивительный, наслаждайтесь. Если вы используете Rails, вы тоже будете чувствовать себя дома с помощью ActiveWeb. – ipolevoy
@ipolevoy на ActiveJDBC 1.4.11 эти обратные вызовы не вызываются, любая идея о том, что может вызвать такое поведение? – perrohunter