@Test
public void testExample() {
List<String> l = Arrays.asList("thanks", "admission", "invitation");
Specification<Setting> specification = orType(l);
List<Setting> all = settingDao.findAll(specification);
System.out.println(all);
}
public static Specification<Setting> orType(List<String> types) {
return ((root, query, cb) -> cb.and(root.get("type").in(types)));
}
Hibernate: select setting0_.id as id1_2_, setting0_.type as type2_2_, setting0_.value as value3_2_ from setting setting0_ where setting0_.type in (? , ? , ?)
[Setting(id=1, type=admission, value=null), Setting(id=2, type=thanks, value=null), Setting(id=3, type=invitation, value=null)]