org.hibernate.exception.DataException: не удалось обновить JavaObjectHere - PullRequest
0 голосов
/ 11 марта 2020

Привет, я использую Hibernate и Spring для моего проекта WebService. Когда я отправляю запрос SOAP через SOAPUI, я не мог обновить объект в базе данных, потому что hibernate выдает такой тип ошибки:

 JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.DataException: could not update: [org.game.model.HeroChampion#123456]

, этот HeroChampion является частью many-to-one отношения внутри другого объекта, скажем, SkillObject.

Любой, кто раньше использовал Hibernate, наверняка может иметь отношение к этой проблеме.

Какую часть я должен начать проверять? дао.саваметод? или связь между двумя таблицами?

Если вам нужна дополнительная информация, спросите об этом. Спасибо. Кстати, это веб-сервис, состоящий из двух частей. Основной веб-сервис, интерпретирующий soap запросов и клиентский проект, выполняющий soap запросов. Сейчас я работаю над проектом клиента.

Дополнительная ошибка, которая может помочь:

SEVERE: Could not synchronize database state with session

Один из методов сохранения:

 public void saveHeroChampion(final HeroCHampion heroObj) { 
        getHibernateTemplate().saveOrUpdate(heroObj); 
        getHibernateTemplate().flush();
 }

Как вы думаете, я следует добавить (или это тривиально?)

getHibernateTemplate().refresh(heroObj);

В настоящее время тип родительского элемента Cascade установлен на NONE, изменить его на Cascade = MERGE?

 /** 
     * 
     * @hibernate.set inverse="true" cascade="merge" order-by="SST_TEST_SERIES ASC"
     * @hibernate.collection-key column="SST_HERO_ID_FK"
     * @hibernate.collection-one-to-many class="org.game.model.HeroSkills"  lazy="false"
     * @struts.form-field
     */
...