Невозможно найти таблицу в столбце jsonb с помощью репозитория Spring Data JPA - PullRequest
0 голосов
/ 06 апреля 2020

Мне трудно запросить таблицу в столбце JSONB, мой файл сущности

@Entity
@Table(name = "task_events")
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
@Builder @Getter @Setter @ToString
public class TaskEvents  {

    @Column(name = "event_type", columnDefinition = "VARCHAR(100)", nullable = false)
    public String eventType;

    @Column(name = "sla_name", columnDefinition = "VARCHAR(100)", nullable = false)
    public String slaName;

    @Type(type = "jsonb")
    @Column(name = "task_identifier_attributes", columnDefinition = "jsonb", nullable = false)
    private String taskIdentifierAttributes;
}

Мой файл репозитория

@Repository
public interface TaskEventsRepository extends JpaRepository<TaskEvents, Long> {
       @Query(value="SELECT * FROM task_events WHERE task_identifier_attributes=:taskIdentifierAttributes AND sla_name=:slaName", nativeQuery = true)
       TaskEvents findBySlaNameAndTaskIdentifierAttribute(@Param("slaName")String slaName,@Param("taskIdentifierAttributes")String taskIdentifierAttributes);
}

В структуре таблицы task_events, taskIdentifierAttributes столбец jsonb, мне нужно найти соответствующие строки для всей строки jsonb. Во время выполнения вышеупомянутого запроса я столкнулся с явным исключением приведения типов на taskIdentifierAttributes для jsonb. Пожалуйста, помогите мне, как выполнить приведение типов для taskIdentifierAttributes к JSONB, а также выполнить запрос на его основе.

...