Можно ли сделать текстовое поле Query представления Eclipse "JPA Details" больше?

Мне понадобилось вечно, чтобы понять, как заставить JPQL автоматически завершать работу в Eclipse. Единственное место, где я вижу это, - это добавить <файл-сопоставления>в мой файл persistance.xml, а в файле сопоставления.xml я могу определить <именованный-запрос>. Затем, если я добавлю представление "JPA Details" и выберу запрос, который хочу отредактировать, я получу крошечное четырехстрочное текстовое поле, в котором я должен отредактировать свой запрос. Только в этом крошечном текстовом поле я могу получить помощь по содержанию.

А) Есть ли способ взломать это текстовое поле, чтобы быть больше? (Мои запросы довольно сложны, и мне нужно гораздо больше строк)

Б) Есть ли еще место для получения помощи по содержанию JPQL?

(У меня такая же проблема в Indigo 3.7 и Juno 4.2)

2 ответа

Решение

Помощник по контенту также доступен через аннотацию @NamedQuery. Если вам не важно хранить конфигурацию в XML-файле или использовать аннотации над классом Entity, вы можете воспользоваться последним. Как только вы начнете редактировать элемент 'query' @NamedQuery, будет доступен тот же помощник по содержимому, что и в JPA Details / Queries. Это дает вам много места; однако, поскольку это константа String, определенная в коде Java, вам придется иметь дело с дополнительными кавычками и конкатенацией в случае разбиения запроса на несколько строк. В то же время вы сможете просмотреть этот запрос в представлении JPA Details.

Что касается представления JPA Details, я сомневаюсь, что это поле редактирования запроса настраивается, если только не изменяются исходные коды плагина и не перестраивается.

РЕДАКТИРОВАТЬ В ответ на комментарий (3),- вот "направление":

  • JPA Подробности просмотра вместе с панелями / панелями, определенными в плагине org.eclipse.jpt.jpa.ui
  • Представления редактирования именованных запросов определены в классах NamedQueryPropertyComposite а также NamedQueryProperty2_0Composite для JPA v1 и JPA v2 соответственно.
  • фрагмент кода, который настраивает окно редактора именованного запроса на 4 строки, выглядит следующим образом:

    adjustMultiLineTextLayout(
        4,
        provider.getStyledText(),
        provider.getStyledText().getLineHeight()
    );
    

.. где 4 - количество строк

Источники находятся здесь::pserver:anonymous@dev.eclipse.org:/cvsroot/webtools (не уверен, на какую конкретную версию Eclipse они нацелены, но это определенно новее, чем в Indigo).

Я внес ошибку в проект Dali Eclipse, чтобы увеличить текстовую область и расширить ее. Не требуется взломать, как только это исправлено.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=386416

В ответ на комментарий (4) - Пожалуйста, введите ошибки в Dali для конкретных ошибок проверки, которые вы видите с вашими сложными запросами. Мы определенно хотим исправить это, если они соответствуют спецификации JPQL-запросов. Если они включают в себя что-либо специфичное для hibernate, расширение этой функции будет отвечать за эту проверку.

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