【发布时间】:2020-06-14 03:15:13
【问题描述】:
我很难找到具有对象列表和@ManyToMany 关系的弹簧规范的解决方案。 我有具有技能列表的员工实体类:
@Entity
public class EmployeeEntity {
@ManyToMany
@JoinTable(name = "employee_skill",
joinColumns = {@JoinColumn(name = "employee_id")},
inverseJoinColumns = {@JoinColumn(name = "skill_id")})
private List<SkillEntity> skills;
}
public class SkillEntity {
@Column(name = "skill_name")
private String skillName;
}
我想查找具有存储在我的自定义技能列表中的技能的员工:
public static Specification<EmployeeEntity> employeeHasSkills(List<String> skills) {
return (root, query, cb) ->{
return root.get("skills").get("skillName").in(skills);
};
}
技能列表中的技能名称为字符串。所以我尝试为 SkillName 映射技能。 Ofc 这不起作用。 任何想法?我正在寻找没有 JPA 元模型的解决方案。
【问题讨论】:
标签: java spring spring-boot spring-data-jpa spring-data