Я использую пружинную загрузку вместе с пружинными данными для обмена данными с базой данных.
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("select s from Seat s where s.id=:id")
Seat findById(@Param("id")Integer id);
Я указал блокировку, но я также хочу указать другие параметры, такие как область блокировки, таймаут блокировки.Я искал, но не смог найти.Одно из решений, которое я нашел в Интернете, - это использование
@QueryHints(value={@QueryHint(name = "javax.persistence.lock.scope", value ="EXTENDED" )})
. Но вышеупомянутое решение не работает, и его можно проверить из журналов ниже.
Hibernate: выберите seat0_.id какid1_1_, seat0_.aisle_seat как aisle_se2_1_, seat0_.booking_status в качестве booking_3_1_, seat0_.row_name в качестве row_name4_1_, seat0_.screen_id в качестве screen_i6_1_, seat0_.seat_number в качестве seat_num5_1_ откуда = где_0_0?для обновления
Hibernate: выберите screen0_.id в качестве id1_0_0_, screen0_.name в качестве имени2_0_0_ с экрана screen0_, где screen0_.id =?
- нет оператора блокировки (для обновления для экрана).
Как добавить такой атрибут в весенние данные?