使用单向@ManyToOne映射获取悲观锁定

时间:2017-11-02 11:18:08

标签: java hibernate jpa spring-boot locking

我有两个实体。 UserWalletUserAddress,UserAddress包含@ManyToOne映射到UserWallet。

PESSIMISTIC_WRITE使用unidirectional@ManyToOne映射时,如何获得Spring JPA锁定。

我有这个UserAddress实体,它与ManyToOne实体有一个单向UserWallet映射。如何在UserAddress实例上使用悲观锁定来锁定UserWallet

@Entity
public class UserAddress {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

@Column(nullable=false)
private String address;

@Column()   
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt = new Date();

@Column(nullable=false)
private String qrCode;

@ManyToOne
@JoinColumn(name="user_wallet_id")
private UserWallet userWallet;

}

目前我只能锁定UserAddress行,因此我能够在另一个线程中更新UserWallet记录,从而面临并发问题。

0 个答案:

没有答案