Именованные запросы компилируются, когда создается экземпляр SessionFactory (так, по сути, когда ваше приложение запускается).
Очевидное преимущество , следовательно, состоит в том, что все ваши именованные запросы проверяются в это время, а не дают сбой при выполнении. Другое преимущество состоит в том, что они легки (-) - для поддержки - конечно, для сложных запросов.
Недостатком является то, что именованные запросы не настраиваются во время выполнения - вы можете, конечно, определять / предоставлять параметры, но помимо того, что вы определили, вы получить; Вы даже не можете изменить сортировку. Другим недостатком является то, что вы не сможете изменить именованный запрос на работающем сервере приложений без перезагрузки SessionFactory .