Добрый день.
Как я знаю можно задавать запросы несколькими способоми:
1. Query by API, используя для этого, например, Criteria API 2.0 из JPA 2.0.
2. Query by String. Пишется запрос, например, на JP-QL или HQL, по которому получаем результат. Все проблемы таких запросов перечислены здесь.
Есть ли какие-нибудь премущества второго способа перед первым? Если ли средства, позволяющие выявлять ошибки и опечатки в запросах-строках на этапе компиляции (возможно, на уровне IDE, в виде плагина)?