Spring JPA 不在

Spring JPA not in

我有两个 class DrugmedicalDrawer

我正在寻找一种方法来获取所有 medicalDrawer 未在 Drug

中使用的方法
@Entity
public class Drug {

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

    @OneToOne
    private MedicalDrawer medicalDrawer;
}

@Entity
public class MedicalDrawer {

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

    private String name;
}

如果您使用 Spring 和 JPARepository,它支持相当多的关键字,例如:'And'、'IsNull',类似地 'NotIn'。

看看这个:http://docs.spring.io/spring-data/jpa/docs/current/reference/html/

现在,针对您的问题,这是我的方法:

  1. 使用 findAll() 获取所有药物,遍历并在列表中添加 medicalDrawerId 说 medicalDrawerDrugList。

  2. 找到不在药物中的 MedicalDrawer。为此,你可以 写这样的东西:

     findByMedicalDrawerIdNotIn(medicalDrawerDrugList);
    

希望对您有所帮助。