У меня есть автономный веб-сервис весенней загрузки, который использует 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 — это сущность Mytable. Order1 и MyTable отображаются с помощью joincolumn, а o.idmytable=m работает как o.idmytable.id=m.id, без разницы
попробуйте это как именованный запрос, чтобы увидеть, изменит ли он результат: 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, причиной тому был язык ОС Windows. Неисправности парсера JPA на турецком языке. Я установил пакет английского языка, проблема решена
Нет проблем, рад, что смог помочь. Если вы не можете найти проблему, всегда пытайтесь получить больше информации из системы.




попробуйте это как именованный запрос, чтобы увидеть, изменит ли он результат:
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
Это, вероятно, даст вам более четкое представление о том, что произошло.
какая связь между м и о? является ли o.idmytable внешним ключом к m.id? Это сопоставление указано в сущностях?