Что я хочу сделать, это сохранить пользователя, а затем сохранить объект в ресторане. Я думал, что это будет легко, но кажется, что я ничего не понял.Вопросы, связанные с транзакцией
userService.save(user); //this one runs just fine
selectedRestaurant.getEmployees().add(user);
restaurantService.save(selectedRestaurant); //exception
Отношение между двумя является @OneToMany. Аннотации транзакций не используются. Я думал, что первый открывает транзакцию и закрывает ее, а второй делает то же самое. Но после попытки сохранить ресторан я получаю это:
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.engine.jdbc.internal.LogicalConnectionImpl - Obtaining JDBC connection
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.engine.jdbc.internal.LogicalConnectionImpl - Obtained JDBC connection
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl - Skipping aggressive release due to registered resources
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.jpa.spi.AbstractEntityManagerImpl - Mark transaction for rollback
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl - HHH000106: Forcing container resource cleanup on transaction completion
[[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.engine.jdbc.spi.SqlExceptionHelper - could not log warnings
java.sql.SQLException: Statement has already been closed
Почему это откат?
Я пытаюсь использовать данные весны jpa (1.9.2.RELEASE), weblogic 12c, mysql 5.6.17. Если в weblogic включена функция Emulate Two-Phase Commit.
Не могли бы вы дать мне советы, как это сделать должным образом?
Вы можете сделать свой уровень журналов информацией и опубликовать дополнительную информацию о журнале. вероятно, должно быть исключение. публикуйте журналы вокруг исключения. –