2015-04-15 2 views
0

Может ли Spring обновлять и сохранять данные в двух отдельных таблицах Oracle в одном контроллере update()? Или вам нужно использовать два отдельных контроллера для этого?Можете ли вы назвать два отдельных DAO от одного контроллера?

У меня есть контроллер и вам необходимо обновить и сохранить данные на две отдельные таблицы в одном контроллере update(). Например:

model = widgetDAO.update(model); 

widgetHistoryDAO.save(model2); 

Первая модель оператора обновления находится на объекте формы для контроллера. Вторая модель оператора обновления, model2, является только исторической записью, поэтому она не возвращается вызывающему абоненту контроллера, поскольку данные не хранятся на экране объекта формы.

Когда я делаю это, я пытаюсь создать model2 с помощью нового заявления, в начале контроллера:

WidgetHistory model2 = new WidgetHistory(); 

Я могу назвать обновление и сохранить заявление один раз без проблем, но когда я называю обновления и сохранение заявления, во второй раз, оператор

widgetHistoryDAO.save(model2); 

вызывает ошибку во время выполнения:

Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist:...... 

Кто-нибудь видел такую ​​ошибку?

Благодарим за любые советы о том, как наиболее эффективно сохранять/обновлять несколько таблиц в одном контроллере, которые не находятся в одном и том же объекте формы (например, экранные переменные на том же экране, который пользователь может добавить, обновить, запросить).

ответ

0

Я перенес новый оператор с начала контроллера в метод, поддерживающий обновление и сохранение вызовов. Произошла ошибка времени выполнения. Я также занимался исследованиями и не нашел ничего, что могло бы запретить использование нового заявления в сочетании с весной, хотя одна из целей использования Spring - избежать как можно большего числа вызовов!

Смежные вопросы