powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблеммы с каскадным добавлением через hibernate со связью one-to-many
2 сообщений из 2, страница 1 из 1
Проблеммы с каскадным добавлением через hibernate со связью one-to-many
    #34733588
BigMaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такая задача, что есть родительская сущность и у ней имеется Set дочерних сущностей, заполняю поля родителськой, заполняю список дочерних. говорю getHibernateTemplate().save(родительский объект). По ошибке я понял что добавление дочерней сущности происходит, но поля в котором должен проставит идентификатор родительского идентификатора пусто.

Листинг родительского класса:
public class ItemFineActual implements Serializable {
........
private Set<ItemFineActualDetail> details;
...
public Set<ItemFineActualDetail> getDetails() {
return details;
}

public void setDetails(Set<ItemFineActualDetail> details) {
this.details = details;
}
}

Листинг дочернего класса
public class ItemFineActualDetail {
...........
/**
* Идентификатор родителя
*/
private Long fineActualItemId;
.........
public Long getFineActualItemId() {
return fineActualItemId;
}

public void setFineActualItemId(Long fineActualItemId) {
this.fineActualItemId = fineActualItemId;
}
}

маппинг родительского класса
<hibernate-mapping package="ru.fors.customs.debt.data">
<class name="ItemFineActual" table="FINE_ACTUAL_ITEM">
<id name="id" column="FINE_ACTUAL_ITEM_ID" type="long">
<generator class="sequence">
<param name="sequence">SQ_RP_FINE_ITEM</param>
</generator>
</id>
..............................
<set name="details" lazy="false" inverse="true" cascade="all-delete-orphan"
sort="unsorted" order-by="PERIOD_START">
<cache usage="nonstrict-read-write"/>
<key column="FINE_ACTUAL_ITEM_ID"/>
<one-to-many
class="ru.fors.customs.debt.data.ItemFineActualDetail"
not-found="ignore"

/>
</set>

</class>
</hibernate-mapping>


маппинг дочернего класса
<hibernate-mapping package="ru.fors.customs.debt.data">
<class name="ItemFineActualDetail" table="FINE_ACTUAL_ITEM_DETAIL">
<id name="id" column="FINE_ACTUAL_ITEM_DETAIL_ID" type="long">
<generator class="sequence">
<param name="sequence">SQ_FINE_ACTUAL_ITEM_DETAIL</param>
</generator>
</id>
...................
<property name="fineActualItemId" type="long" column="FINE_ACTUAL_ITEM_ID"/>
</class>
</hibernate-mapping>


Что ещё надо указать чтобы при вызове метода добавления родительской сущности, он добавлял все дочерние сущности и проставлял в них поле родительский идентификатор???

Заранее благодарен
...
Рейтинг: 0 / 0
Проблеммы с каскадным добавлением через hibernate со связью one-to-many
    #34734015
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо мапинга
Код: plaintext
 Long  fineActualItemId 
нужно замапить
Код: plaintext
ItemFineActual fineActualItem 
как many-to-one. и соответственно устанавливать у каждой
Код: plaintext
itemFineActualDetail.setFineActualItem(itemFineActual )
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблеммы с каскадным добавлением через hibernate со связью one-to-many
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]