spring boot如何在JAVA中的3个实体之间使用乐观锁定
我拥有以下实体:
@Entity
public class TableA {
@Id
@GeneratedValue(...)
private Long id;
private Timestamp updatedDateTime;
@Version
private int version;
}
@Entity
public class TableB{
@Id
@GeneratedValue(...)
private Long id;
@ManyToOne
@JoinColumn(name="fieldTableC")
private TableC paymentsData;
}
@Entity
public class TableC{
@Id
@Column(name = "fieldTableC")
private String fieldTableC;
private String someOtherField;
}
我面临的问题是,我找不到有关如何执行以下场景的任何信息: 如果更新了TableB或TableC,那么我需要hibernate自动增加TableA中的版本。我是否应该将表a的FK添加到表B&;表C? 正如你所看到的,我已经有一个@manytone从表B到表C,如果这有任何帮助的话。 PS:我用的是JpaRepository
# 1 楼答案
最后,我在parent中添加了child引用,并在child中添加了parent引用。每当我想保存一个孩子时,我也会更新父级UpdateDateTime值。我的方法是@Transient,所以所有内容都将保存在一个事务中
还添加了级联类型。保存更新,这样在保存父项时,子项也将被保存
例如: 在表A中添加:
添加到表B中: