Ошибка при выходе из режима гибернации: ошибка BL: пакетное обновление вернуло неожиданное количество строк из-за обновления [0];фактическое количество строк: 0;ожидается: 1 - PullRequest
0 голосов
/ 21 мая 2018

У меня есть родитель - дочерние отношения типа один-к-одному

родительский класс hbm.xml Pipeline_Facility_Id_Seq

    <many-to-one name="pipelineData" class="com.db.loud.dto.gctpipeline.PipelineData" column="LOAN_ID"  not-null="true"/>
    <one-to-one name="shippingFacilityAsset" class="xxx.ShippingFacilityAsset" cascade="all"/>

Child hbm.xml

<class name="com.db.loud.dto.gctpipeline.ShippingFacilityAsset" table="Shipping_Facility_Asset" >
    <id name="facilityId" type="long">
        <column name="FACILITY_ID" not-null="true" sql-type="NUMBER" />
        <generator class="foreign">
            <param name="property">pipelineFacility</param>
        </generator>
    </id>

    <one-to-one name="pipelineFacility" class="com.db.loud.dto.gctpipeline.PipelineFacility" constrained="true"/>

Теперь при обновлении выдается ошибка «Ошибка BL: пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1»

, так как не удается найти строку в дочернем элементе для обновления, котораяправда.Так что ошибка ожидается.

Это бизнес-случай, когда мы можем обновлять объект, если дочерний объект отсутствует в таблице?

Как мне решить эту проблему?

Мне нужно вставить дочернюю сущность + обновить родительскую сущность, если родительская запись уже присутствует в основной таблице, а дочерняя запись отсутствует в дочерней таблице.

1 Ответ

0 голосов
/ 28 августа 2018

добавление dynamic-update = "true" в отображение hibernate xml работало для меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...