JPA 2.0: как избежать полного имени класса в «SELECT NEW full.class.Name»? - PullRequest
1 голос
/ 03 августа 2011

Как можно избежать помещения FQCN в SELECT NEW ...?

Во время рефакторинга пакеты часто меняются, и это может вызвать проблемы.

Не уверен, смогу ли я сделать что-то для этого в JPA; Я также доволен решением Hibernate 3.6 (Ejb3Configuration).

Обратите внимание, что класс, используемый в SELECT NEW, не является сущностью, поэтому стандартный трюк с <class> в persistence.xml не работает (YMMV).

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Согласно спецификации, имя конструктора должно быть полностью определено, JPA spec 4.8.2.Так что нет, вы не можете избежать этого.И почему вы не можете просто использовать MyClass.class.getName () и, следовательно, справиться с рефакторингом?

0 голосов
/ 04 августа 2011

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

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