Есть ли у вас несколько транзакций в одном сеансе Hibernate?
Я не понимаю, насколько это желательно. В моем коде у меня есть длинный поток и берет элементы из очереди блокировки, в зависимости от того, что находится в очереди, может потребоваться создать и сохранить объект спящего режима, иначе ему может ничего не понадобиться.
Каждый элемент отличается, поэтому, если элемент 1 сохранен, а элемент 2 не может сохранить причину, по которой я не хочу, чтобы предотвратить добавление элемента 1 в базу данных.
Таким образом, самый простой способ сделать это - для каждого элемента, который необходимо создать для создания нового сеанса, открытия транзакции, сохранения нового объекта, фиксации транзакции, закрытия сеанса
Тем не менее, это означает, что для каждого элемента создается новый сеанс, который, по-видимому, противоречит Hibernates собственным рекомендациям, чтобы не выполнять шаблон за каждый запрос. Поэтому моя альтернатива заключалась в том, чтобы создать один сеанс в потоке, а затем просто открыть и перенести новую транзакцию по мере необходимости, чтобы создать новый объект. Но я не видел примеров такого подхода, и я не уверен, действительно ли это работает.