Мы перешли с ColdFusion 11 на ColdFusion 2018, и теперь ORM нарушает метод EntitySave
, и мы получаем сообщение об ошибке ниже.
Сообщение об ошибке - Основная причина этого исключения: coldfusion.orm.hibernate.HibernateSessionException: пакетное обновление вернуло неожиданное количество строк из-за обновления [0];фактическое количество строк: 0;ожидается: 1.
У нас есть 2 класса с отношением один-ко-многим, таких как Email.cfc (родительский) и EmailItems.cfc (дочерний).Когда мы пытаемся сохранить объект Email.cfc, hibernate также создает запрос UPDATE для EmailItems
, и это происходит только с ColdFusion 2018.
Вот определенное свойство в Email.cfc.
<cfproperty name="EmailItems"
lazy="true"
fieldtype="one-to-many"
inverse="true"
fkcolumn="EmailID"
cfc="EmailItem"
singularName="EmailItem"
type="struct"
structkeycolumn="EmailItemKey"
structkeytype="string"
cascade="none"
/>
Мы используем инверсию, и она все еще создает запрос UPDATE для дочернего класса 'EmailItems', что является причиной сбоя EntitySave(Email)
.Все отлично работает с ColdFusion 11.