У нас есть таблица requests
, у которой есть первичный ключ с автоинкрементом. Следующий код используется для вставки в таблицу.
Может ли этот код привести к ошибкам вставки в многопоточной среде (по какой-либо причине, блокировке и т. Д.)?
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
requestDAO.save(request);
tx.commit();
Вот мой файл сопоставления.
<hibernate-mapping package="com.project.dao">
<class name="Request" table="requests">
<id name="requestId" type="long" column="req_id">
<generator class="native" />
</id>
<class>
</hibernate-mapping>
Если да, что мы можем сделать, чтобы избежать этого? Любая документация, касающаяся поведения MySQL / hibernate в многопоточной среде, будет полезна.
Двигатель: MySQL / InnoDB