Как искать в базе данных строку вместо id с помощью findById ()? - PullRequest
0 голосов
/ 27 сентября 2019

как я могу искать строку Pathvariable вместо Integer по ID?Мне нравится находить имена.

Метод ниже работает хорошо, но только с идентификаторами в качестве целочисленного значения.

Спасибо:)


@RestController
@RequestMapping(value = "/etbestandservice")
public class ETBestandserviceController {

    @Autowired
    ETBestandserviceRepository etbestandRepos;

        @GetMapping(value = "/find/{id}", produces = "application/json")
        public Optional<ETBestandservice> findErsatzteile(@PathVariable("id") Integer id, ETBestandservice et) {

        id = et.getId();
        return etbestandRepos.findById(id);
    }
}

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Добавьте метод Optional<ETBestandservice> findByName(String name) в свой интерфейс Spring JPA ETBestandserviceRepository, и Spring сгенерирует ожидаемый для вас запрос для этого при запуске.
Если запрос может вернуть несколько результатов, замените Optional<ETBestandservice> на List<ETBestandservice>.
Подробнее здесь .

0 голосов
/ 27 сентября 2019
public Optional<ETBestandservice> findErsatzteile(@PathVariable("id") String id, ETBestandservice et) {
Repo*.findByName(id) //name is a field*.if oyur identification column is a *firstName*,  write etbestandRepos.findByFirstname(id);
...