внедрить DAO в весеннюю загрузку с JPA - PullRequest
0 голосов
/ 14 июня 2019

Я пишу запрос с использованием оператора In при весенней загрузке с использованием JPA

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

Я не могу реализовать реализацию DAO для следующего ввода при весенней загрузкес JPA.

 {"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;
}

, пожалуйста, помогите мне реализовать следующий ввод.

1 Ответ

0 голосов
/ 14 июня 2019

Ваш репо должен выглядеть так:

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

По крайней мере, что-то подобное.

...