这是主要的实体类,它有一个嵌入的Id
public class LabResHivMutation implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private LabResHivMutationPK id;
private String comments;
@Column(name="MUTATION_TYPE_ID")
private BigDecimal mutationTypeId;
@Column(name="VALUE")
private String value;
}
这是可嵌入的 key
@Embeddable
public class LabResHivMutationPK implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
@Column(name="TO_INST")
private Long toInst;
@Column(name="REL_INVSTID")
private long relInvstid;
@Column(name="MUTATION_ID")
private long mutationId;
}
Spring Data Jpa中是否有任何删除方法可以仅基于两个可嵌入键(toInst,relInvstid)进行删除。
我仍然可以编写 JPQL 查询来删除它。我的问题是有没有可用的方法。
喜欢deleteById吗?
最佳答案
是的,repo.deleteByIdToInstAndIdRelInvstid(toInst,relInnvstid)
正如您所看到的,您必须指定 deleteById
ToInst ,这就是您引用嵌入 ID 字段的方式,与引用外关系字段的方式相同。这里的 Id
与您的字段命名匹配
@EmbeddedId
private LabResHivMutationPK id;
关于spring-mvc - 使用可嵌入键中的两个字段进行删除的 Spring Data JPA 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383155/