如何在hibernate中为整个实体或表设置锁



我想在Hibernate/Spring Data JPA的实体级别锁定一个表。

这是我的代码的模型:

@Entity
@Data
@Table(name = "Armor")
public class Armor {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OptimisticLocking
private String armorBrand;
}

我可以为整个表做这个吗?

我目前使用JpaRepository为我的更新。我想继续使用它,而不是EntityManager。

也许@Lock就是你要找的。

@Lock(LockModeType.PESSIMISTIC_READ)
public Optional<Armor> findById(Long armorId);

使用如下:

setLockMode(String alias, LockMode lockMode) 

最新更新