У меня есть следующий класс Java:
public class Font {
private String fontFamily;
private int fontSize;
// other members and getters/setters
}
В этом классе используется класс Font:
public class RichText {
private int code;
private String richString;
private Font titleFont;
private Font subtitleFont;
// other members and getters/setters
}
Теперь у меня есть одна таблица в базе данных для хранения RichText
, обратите внимание, что я сплющил классы шрифтов, чтобы избежать создания дополнительной таблицы:
CREATE TABLE rich_text (
code int,
rich_string text,
fontTitleFamily varchar(20),
fontTitleSize int,
fontSubtitleFamily varchar(20),
fontSubtitleSize int,
.....
);
Я читаю таблицу rich_text
, используя Jooq, примерно так:
Record rec = create.select()
.from(RICH_TEXT)
.where(RICH_TEXT.CODE.eq(code))
.fetchAny();
if (rec == null)
throw new RecordNotFoundException();
RichText richText = new RichText();
rec.into(richText);
Но это нене заполнять классы шрифтов, потому что имена разные.Я не хочу нормализовать эту таблицу, так как она будет иметь только два шрифта.
Есть ли способ в Jooq аннотировать или настроить в генераторе отношения между столбцами в базе данных и полямиподкласс?