Я довольно новичок в JPQL
и из SQL
есть некоторые вещи, с которыми мне еще нужно ознакомиться, поэтому проблема может быть вызвана этим фактом. Работая с CUBA-Framework
, я пытаюсь создать новую сущность с JPQL
, как форму проекции в SQL
, и я уже преуспел в этом, но теперь в другом случае я получил синтаксическую ошибку. Итак, вот мой JPQL:
ВЫБРАТЬ НОВЫЙ com.example.vet.entity.vet_AnimalInformation (a.cage, 0,0, 'test', 0) FROM vet_Animals a
Это внутренне преобразуется в то, что вы можете видеть в исключении ниже, и дает мне ошибку:
An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing
[SELECT NEWcom.example.vet.entity.vet_AnimalInformation(tempEntityAlias,0,0,'test',0) FROM vet_Cage tempEntityAlias, vet_Animals a where tempEntityAlias.id = a.cage.id].
[71, 72] The SELECT clause has 'NEWcom.example.vet.entity.vet_AnimalInformation' and '(tempEntityAlias, 0, 0, 'test', 0)' that are not separated by a comma.
Как бы ни происходила эта реструктуризация, я могу с этим смириться, хотя по сравнению с SQL
Iчувствую отсутствие влияния на утверждение здесь :) как-то конструктор не распознается как таковой. Что я здесь не так делаю?
Заранее спасибо!
edit: Теперь я написал свое оригинальное предложение SELECT точно так, как оно показано в сообщении об ошибке, после того как оно было автоматически переписанои это работает! По крайней мере, я получаю еще одну ошибку, утверждающую, что конструктор с этими типами параметров не может быть найден, но, по крайней мере, он распознается как конструктор. Тогда я предположил, что, возможно, при переписывании оператора пропадет пространство между NEW и конструктором, но когда я пропущу это в своем исходном утверждении, я получу совершенно другую ошибку.