【发布时间】:2019-10-28 21:07:33
【问题描述】:
我正在使用 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;
}
请帮我实现以下输入。
【问题讨论】:
-
你得到一个异常或者repo.findBybatchID的结果是什么?
-
得到结果,但它说无法将实体类转换为 DTO 类。
-
这个错误在哪里?你能发布堆栈跟踪吗?还有你的 repo 实现?
-
为什么不实现将实体转换为 dto 的映射器?或者只是使用 BeanUtils :)
-
我觉得问题中缺少很多细节,你能提供足够的细节吗,比如
exception,the proper request body,JpaRepository interface
标签: java spring-boot jpa entity dao