Я получил исключение из живого развертывания веб-приложения (JBoss, Turbine, Hibernate). Я не могу воспроизвести исключение, поэтому я не могу исправить ошибку.
Вот исключение, которое я получаю:
org.hibernate.exception.DataException: could not update: [com.myproject.project.mypackage.objects.MyObject#1190]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
Интересно то, что я получаю эту не удалось обновить ошибка при выполнении следующего hql:
select sum(entity.totalPrice) from Entity entity where entity.parent.id = :parentId and deleted is null
Несколько сущностей принадлежат одному родителю.
Этот hql является частью большего процесса обновления. Мне нужна сумма totalPrices, чтобы обновить с ним другую сущность. Возможно ли, что не удалось обновить относится к процессу обновления?
Я не думаю, что это так, потому что ошибка происходит до выполнения обновления. Точнее, исключение возникает при вызове метода list () для объекта Query, который содержит hql.
Я попытался воспроизвести исключение с помощью totalPrice для сущностей, для которых установлено значение NULL, но это не дает никаких исключений. Если у меня много сущностей, привязанных к одному и тому же родителю, и сумма их totalPrice превышает предел, я получаю , не могу вставить исключение .
Я не могу понять, в чем проблема.