Проблема разбора запроса JPA Eclipselink в Windows 7

У меня есть автономный веб-сервис весенней загрузки, который использует eclipselink v2.7.3. У меня есть запрос в NamedQuery внутри моего класса.

 SELECT m , o.iduserinsert.id as iduserinsert FROM Mytable
 m, Order1 o  WHERE o.idmytable=m and (o.id is null or o.idorderstatus.id 
in (1,3,4))  and m.iddepartment = :iddepartment and m.isactive = :isActive 
 and m.idtablestatus.id < 5 and (m.idparent is null or m.idparent < 0) 
order by m.id desc

В Windows Server 2008, Windows 10 эта веб-служба работает нормально. Однако, когда я запускаю его на Windows7, он падает и выключается из-за следующей ошибки:

The SQL query contains a malformed ending

Как один и тот же фрагмент кода работает в одной системе, а не в другой?

[ОБНОВИТЬ]

Причиной тому стал язык интерфейса ОС Windows. Это был турецкий. Неисправности парсера JPA на турецком языке. Я установил пакет английского языка, избежал проблемы. Но я все еще не могу найти реального решения, не меняя язык интерфейса ОС.

какая связь между м и о? является ли o.idmytable внешним ключом к m.id? Это сопоставление указано в сущностях?

mahieus 20.02.2019 09:06

да. o.idmytable — это сущность Mytable. Order1 и MyTable отображаются с помощью joincolumn, а o.idmytable=m работает как o.idmytable.id=m.id, без разницы

rgaraisayev 20.02.2019 09:18

попробуйте это как именованный запрос, чтобы увидеть, изменит ли он результат: SELECT m , o.iduserinsert.id as iduserinsert FROM Order1 o JOIN o.idmytable m WHERE (o.id равен null или o.idorderstatus.id в (1,3 ,4)) и m.iddepartment = :iddepartment и m.isactive = :isActive и m.idtablestatus.id < 5 и (m.idparent равно null или m.idparent < 0) упорядочиваются по m.id desc

mahieus 20.02.2019 09:47

Спасибо @mahieus, причиной тому был язык ОС Windows. Неисправности парсера JPA на турецком языке. Я установил пакет английского языка, проблема решена

rgaraisayev 20.02.2019 15:25

Нет проблем, рад, что смог помочь. Если вы не можете найти проблему, всегда пытайтесь получить больше информации из системы.

mahieus 20.02.2019 16:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
31
1

Ответы 1

попробуйте это как именованный запрос, чтобы увидеть, изменит ли он результат:

SELECT m , o.iduserinsert.id as iduserinsert FROM Order1 o JOIN o.idmytable m WHERE (o.id is null or o.idorderstatus.id in (1,3,4)) and m.iddepartment = :iddepartment and m.isactive = :isActive and m.idtablestatus.id < 5 and (m.idparent is null or m.idparent < 0) order by m.id desc

Это, вероятно, даст вам более четкое представление о том, что произошло.

Другие вопросы по теме