2012-05-29 4 views
0

У меня есть класс сопоставления спящего режима, который сопоставляет существующий класс java (скажем A) с таблицей. Одним из атрибутов класса java является другой класс java (скажем, AA), который отображается с использованием атрибута компонента в файле сопоставления спящего режима. В классе AA есть только один атрибут, который сопоставляется с свойством из таблицы. Я хотел бы знать, что происходит, когда это свойство пусто в таблице. Будет ли создан экземпляр класса AA и в конечном объекте класса A при выполнении сопоставления? В моем коде я вижу, что экземпляр не создан и этот атрибут класса A остается нулевым. Есть ли способ указать параметр в файле сопоставления гибернации, чтобы тем самым создать экземпляр объекта (даже если его свойство отображения пусто в таблице).Отображение гибернации в Java

Я использую Java 1.6 и зимуют 3

Спасибо.

ответ

2

на основе Руководства по гибернации

The null value semantics of a component are ad hoc. When reloading the containing object, Hibernate will assume that if all component columns are null, then the entire component is null. This is suitable for most purposes. 

Но как потенциальный обходной путь, Вы можете добавить некоторую SQL формулы для свойства, поэтому он будет убедиться, что экземпляр АА создается.