по какой-то причине я не могу найти подходящий ответ для этого. У меня есть следующий простой объект:FindByUUID() с использованием репозитория JPA Spring Data
@Entity
@Table(name = "simple_entity")
@Access(AccessType.FIELD)
public class SimpleEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long id;
@Column(unique = true, updatable = false)
protected UUID uuid;
@PrePersist
protected void onCreateAbstractBaseEntity() {
this.uuid = UUID.randomUUID();
}
public Long getId() {
return this.id;
}
public UUID getUuid() {
return this.uuid;
}
}
Данные Spring JPA с Hibernate полностью создают все в моей базе данных MySQL. Однако, когда я пытаюсь использовать реализацию JPARepository для поиска элемента с помощью своего uuid, он никогда не найдет ничего, даже если он выполняет запрос на поиск в БД (который я вижу в своем отладчике). Вот моя реализация JPARepository:
public interface SimpleEntityRepository extends JpaRepository<SimpleEntity, Long> {
SimpleEntity findOneByUuid(UUID uuid);
}
Вот контроллер, который вызывает этот метод.
@Controller
@RequestMapping("/simple_entity")
public class SimpleEntityController {
@Autowired
private SimpleEntityRepository repository;
@RequestMapping(method = RequestMethod.GET, value = "/{simpleEntityId}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<FileDatastore> getSimpleEntity(@PathVariable UUID simpleEntityId) {
SimpleEntity record = this.repository.findOneByUuid(simpleEntityId);
HttpHeaders headers = new HttpHeaders();
HttpStatus status = (record != null) ? HttpStatus.OK : HttpStatus.NOT_FOUND;
return new ResponseEntity<>(record, headers, status);
}
Я что-то упустил?
Благодарим за помощь!
Покажите нам реализацию и соответствующий код, в котором вы вызываете метод. – DannyMo