169 похожих чатов

Всем привет! Есть сущность: @Entity @TypeDefs({@TypeDef(name = "string-array",typeClass = StringArrayType.class)}) public class AcademyCourse { //

разные поля
@Column(name = "access_for_job_titles")
@Type(type = "string-array")
private String[] accessForJobTitles;
}

Вопрос, как правильно сделать что то типа такого запроса:
@Query("SELECT ac FROM AcademyCourse ac WHERE ?1 = ANY (ac.accessForJobTitles)")
List<AcademyCourse> getCourses(String accessForJobTitles);

C ANY не катит, в БД данные в таком формате {СЕО,CTO}

14 ответов

20 просмотров

в бд жсон?

почему оно в бд так сохранено?

HrAssist- Автор вопроса
Grigorij I.
почему оно в бд так сохранено?

так постгре сохраняет тип text[]

почему не катит? как раз синтаксис для поиска в массиве

HrAssist- Автор вопроса
Nickelodeona K
почему не катит? как раз синтаксис для поиска в ма...

хз.. возможно потому что тип массива постгре а не джава, на этапе компиляции эксепшн

подожди, а что у тебя в селекте вообще, алиас таблицы?

HrAssist- Автор вопроса
Nickelodeona K
покажи ошибку блять

Вот реальный запрос: @Query("SELECT ac FROM AcademyCourseUk ac WHERE ac.idCompany = ?1 AND ac.academyCourse.active = ?2 " + "AND (ac.academyCourse.teamAccess = false OR (ac.academyCourse.teamAccess = true AND ?3 = ANY (ac.academyCourse.accessForJobTitles))) ORDER BY ac.idCourse DESC") List<AcademyCourseUk> getCourses(Long idCompany, Boolean active, String jobTitle); эксепшн: Could not create query for public abstract java.util.List pro.hrsystems.backend.spring.repository.AcademyCourseUkRepository.getCourses(java.lang.Long,java.lang.Boolean,java.lang.String); Reason: Validation failed for query for method public abstract java.util.List pro.hrsystems.backend.spring.repository.AcademyCourseUkRepository.getCourses(java.lang.Long,java.lang.Boolean,java.lang.String)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List pro.hrsystems.backend.spring.repository.AcademyCourseUkRepository.getCourses(java.lang.Long,java.lang.Boolean,java.lang.String)!

HrAssist
Вот реальный запрос: @Query("SELECT ac FROM Ac...

еще раз, что у тебя в селекете

HrAssist
Вот реальный запрос: @Query("SELECT ac FROM Ac...

короче мне кажется в списке полей проблема

SELECT ac FROM на месте ac должен быть список полей

HrAssist- Автор вопроса
Nickelodeona K
SELECT ac FROM на месте ac должен быть список пол...

нафига? Я же целиком весь объект забираю

HrAssist
нафига? Я же целиком весь объект забираю

тогда тебе нужно делать select * from

HrAssist- Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта