spring-data-jpa - 如何选择 ManyToMany 关系为空或 null 的所有行
问题描述
我有两节课
@Entity
public class Program {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToMany
@JoinTable(name = "program_roles",
joinColumns = @JoinColumn(name = "program_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "program_role_id", referencedColumnName = "id"))
private Set<ProgramRole> programRoles;
}
@Entity
public class ProgramRole {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
我想编写 JPA 查询以选择所有programRoles
为空或为空的程序。
解决方案
您可以使用JpaRepository
ofProgram, Long
来实现您的要求。以下应该有效:
@Repository
public interface ProgramRepository extends JpaRepository<Program, Long> {
List<Program> findByProgramRolesIsEmpty();
}
此方法将返回所有具有空的 Program 实体,Set<ProgramRole>
对于空或 null 至少为 trueSet
推荐阅读
- python - 为熊猫数据框中列中的每个值计算列表中每个元素的 perc
- r - 在 R 中,我如何创建一个变量,其内容基于其他变量中的内容?
- python - python中{}和set()有什么区别
- php - php中分类的分页
- kubernetes - Kubernetes : Cluster-Autoscaler: 如何验证自动缩放是否有效
- reactjs - 在 gatsby jsx 中添加 `if` 条件
- php - 如何将签名添加到 XMLdocument 中的特定位置?
- typo3 - TYPO3 9.5:对单页使用内容回退模式/覆盖站点配置
- python-3.x - 将 anaconda 虚拟环境更新为特定的 python 版本
- javascript - 是否可以在命令行参数中将字符串变量作为文件传递?