简体   繁体   English

使用JPA在spring boot中实现DAO

[英]implement DAO in spring boot with JPA

I am writing query using In operator in spring boot using JPA 我正在使用JPA在Spring启动时使用In运算符编写查询

select * from data where name in ("XYZ","XY")

I am unable to implement DAO implementation for the following input in spring boot with JPA. 我无法在使用JPA的spring boot中为以下输入实现DAO实现。

 {"name":["XYZ","XY"]}

Controller 调节器

@PostMapping("/embdata/dto/name")
public List getByBatchIdsWithDTO(@RequestBody EmbDataDTO dto){
    return service.getBatchIds(dto);
}

Service Method: 服务方式:

    List<Data> obj=repo.findBybatchID(List<String> name)

Repo Interface: 回购接口:

    List<Data> findByBatchIdIn(List wageId);

My entity Class 我的实体类

@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;
}

My DTO class: 我的DTO课程:

@Data
public class EmbDataDTO {
   private int id;
   private String name;
   private String address;
}

please help me to implement for the following input. 请帮我实现以下输入。

Your repo should look like : 你的回购应该是这样的:

@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(); 
  }
}

At least something like that. 至少这样的事情。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM