我正在使用JPA在Spring Boot中使用In运算符编写查询
select * from data where name in ("XYZ","XY")
在JPA的春季启动中,我无法为以下输入实现DAO实现。
{"name":["XYZ","XY"]}
@PostMapping("/embdata/dto/name")
public List getByBatchIdsWithDTO(@RequestBody EmbDataDTO dto){
return service.getBatchIds(dto);
}
List<Data> obj=repo.findBybatchID(List<String> name)
List<Data> findByBatchIdIn(List wageId);
@Entity
@Data
@Table(name="data")
public class Data{
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
int id;
@Column(name="name")
String name;
@Column(name="address")
String address;
}
@Data
public class EmbDataDTO {
private int id;
private String name;
private String address;
}
请帮助我实现以下输入。
答案 0 :(得分:0)
您的回购应如下所示:
@Repository
@Transactional
class YourRepo {
List<Data> findByBatchIdIn(List wageId) {
Query q = entityManager.createQuery("select * from data where name in (:list)");
q.setListParameter("list", wageId);
return q.execute();
}
}
至少是这样的。