Выражение небулевого типа, указанное в контексте, в котором ожидается условие. SQL не возвращает значения при выполнении через API - PullRequest
0 голосов
/ 14 июля 2020

У меня есть запрос, который возвращает результат при выполнении в базе данных. Но он ничего не возвращает, когда я выполняю его из своего приложения, он просто продолжает выполняться.

Ниже приведен фрагмент кода, который у меня есть:

@Query(value = "select distinct c.ROWID_OBJECT, rc.CMPNY_NMBR from ecm_ors.dbo.c_b_pty rc " +
        "left join ecm_ors.dbo.c_b_pty_rel rel on rc.ROWID_OBJECT = rel.PTY_ID_1 " +
        "left join ecm_ors.dbo.c_b_pty c on rel.PTY_ID_2 =?1 " +
        "where rc.PTY_ROLE = 'L' and c.PTY_ROLE = 'L' and rel.REL_TP = 'is parent of' " +
        "and rc.HUB_STATE_IND = 1 and rel.HUB_STATE_IND = 1 and c.HUB_STATE_IND = 1 " +
        "AND ?2 IS NULL OR c.CMPNY_NMBR =?2 AND rel.PTY_ID_2 = c.ROWID_OBJECT", nativeQuery = true)
List<Object[]> getCompanyList(String ptyId, String cmpNumber);

Тот же запрос показывает результат, когда прогнать его через базу данных

  select distinct c.ROWID_OBJECT, rc.CMPNY_NMBR from ecm_ors.dbo.c_b_pty rc 
  left join ecm_ors.dbo.c_b_pty_rel rel on rc.ROWID_OBJECT = rel.PTY_ID_1 
  left join ecm_ors.dbo.c_b_pty c on rel.PTY_ID_2 = 493 
  where rc.PTY_ROLE = 'L' and c.PTY_ROLE = 'L' and rel.REL_TP = 'is parent of' 
  and rc.HUB_STATE_IND = 1 and rel.HUB_STATE_IND = 1 and c.HUB_STATE_IND = 1 
  and 02637 is null or c.CMPNY_NMBR =02637 
  and rel.PTY_ID_2 = c.ROWID_OBJECT

Проблема, которую я предвижу в этом состоянии

  ?2 IS NULL OR c.CMPNY_NMBR =?2

Это ошибка типа:

Выражение небулева типа, указанного в контексте, где ожидается условие

Я не вижу никаких ошибок, вызов REST продолжает вращаться.

Не знаю, как это исправить, пожалуйста, посоветуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...