我正在使用 JPA 在 Spring Boot 中使用 In 运算符编写查询
从名称为 ("XYZ","XY") 的数据中选择 *
我无法使用 JPA 在 Spring Boot 中实现以下输入的 DAO 实现。
{"name":["XYZ","XY"]}
Controller
@PostMapping("/embdata/dto/name")
public List getByBatchIdsWithDTO(@RequestBody EmbDataDTO dto){
return service.getBatchIds(dto);
}
服务方式:
List<Data> obj=repo.findBybatchID(List<String> name)
repo 接口(interface):
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;
}
我的 DTO 类:
@Data
public class EmbDataDTO {
private int id;
private String name;
private String address;
}
请帮助我实现以下输入。
最佳答案
您的存储库应如下所示:
@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();
}
}
至少是这样的。
关于java - 使用 JPA 在 Spring Boot 中实现 DAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56594597/