Я использую Spring Boot с JpaRepository.У меня есть таблица, определенная с PK, которая является строкой.
CREATE TABLE mytable (
uuid uuid DEFAULT gen_random_uuid() PRIMARY KEY,
url text NOT NULL,
status status DEFAULT 'pending' NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL
);
Вопрос
В JpaRepository, как мне сделать эквивалент getOne(uuid)
?(getOne(uuid)
получает параметр типа Long), т. Е. Как получить одну строку для идентификатора UUID типа String?
Код
@Entity
@Table(name = "mytable")
public class MyTableEntity {
public enum Status {
pending,
complete,
processing,
failed
}
@Id
@Column(name = "uuid")
//@GeneratedValue(strategy = GenerationType.AUTO)
private String uuid;
@Column(name = "url", nullable = false)
private String url;
@Enumerated(EnumType.STRING)
@Column(columnDefinition = "photo_status", nullable = false)
//@Type( type = "pgsql_enum" )
private Status status;
@Column(name = "created_at", nullable = false)
private LocalDateTime created_at;
Хранилище
public interface MyRepository extends JpaRepository<MyTableEntity, Long> {
}