java - 使用 JPA 在 Spring Boot 中实现 DAO
问题描述
我正在使用 JPA 在 Spring Boot 中使用 In 运算符编写查询
select * from data where name in ("XYZ","XY")
我无法使用 JPA 在 Spring Boot 中为以下输入实现 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;
}
我的 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();
}
}
至少是这样的。
推荐阅读
- nginx - nginx 从不同的位置指令发送标头
- tensorflow - 训练图像?选择注意事项
- python - 这种 python 索引:'print(X_train[y_train == 0][0])' 如何在 python 中工作?
- php - 使用未定义的常量标题 - 假定为“标题”
- docker - 如何从 hyper-v 虚拟机连接到 windows docker 容器的公开端口?
- python - 节点错误在远程服务器上生成 /bin/sh ENOENT
- javascript - 在spring mvc视图上实现UI-GRID angular
- django - 如何对 Django FloatField/DecimalField 进行比较操作
- javascript - Javascript查找两个数组缺失元素的索引
- google-chrome - Chrome 和 HTML5 离线存储