2016-09-01 3 views
0

Я немного смущен о спящем отображении.Hibernate Сопоставление одного-много hbm-файла

ли следующее отображение будет установить родительский потомок .:

<many-to-one name="courseId" column="courseid" insert="true" lazy="false"> </many-to-one> 

или

<many-to-one name="courseId" class="com.xxx.client.vo.CourseMasterVO" lazy="false" insert="true" cascade="all"> 
     <column name="courseId_Id" not-null="false" /> 
    </many-to-one> 

Какой из них правильный, если оба правильны, то я могу использовать их как взаимозаменяемые.

ответ

1

Вы можете использовать их взаимозаменяемо. Элемент column предназначен только для добавления дополнительных параметров в столбец, например, index или not-null ограничений. Если у вас есть только name, вы можете поместить его в атрибут column элемента many-to-one.

Комментарии:

Будьте осторожны с ленивой атрибутом несимметричных свойств. По умолчанию используется False (в отличие от ленивых объектов и коллекций). Эта функция управляет меткой ленивой загрузки, которая работает только тогда, когда класс, содержащий свойство, является прокси-сервером.

Будьте осторожны со вставкой. Вы должны действительно знать, что вы делаете при использовании этого. Это не для обычного использования в спящем режиме, это больше для работы с особыми случаями (чего следует избегать).

+0

очистил сомнения и добавил ценный пункт в мой банк знаний. – Shaurya