Представьте, что у меня есть одна общая функциональность: серия и номер (строка и целое число) какого-либо документа. Мой объект (страховой полис) содержит информацию о серии и количестве различных документов, поэтому я хотел бы сгруппировать эту серию и номер в один объект Java и позволить hibernate хранить два поля для каждого объекта в одной таблице.
См. Пример:
class Polis {
private DocInfo kaskoNumber;
private DocInfo osagoNumber;
private DocInfo tsNumber;
}
class DocInfo {
private String series;
private Integer number;
}
table:
polis(kaskoSeries varchar2,
kaskoNumber numeric,
osagoSeries varchar2,
osagoNumber numeric..... )
Как то так. Что я действительно хочу сделать - избавиться от дублирования полей в объекте Polis и инкапсулировать поля серии и числа в объекте DocInfo. Это нормально для java, но для Hibernate единственный известный мне способ - это создать отношение ManyToOne и перенести эту информацию в другую таблицу (doc_info). Но мне нужно хранить всю информацию в одной таблице!
Спасибо.