Как стать автором
Обновить

Комментарии 11

Почему Java-программисты типичные жители default city, постоянно забывают писать о каком языке речь
Замечание уместно. Java — не единственный язык на платформе Java. Все остальные намеки позволю себе не заметить. Хорошо?
Как-то мне тоже потребовалось нечто подобное, только утомляло писать такие длинные простыни — уж больно хотелось краткости и емкости. Воодушевившись mockito и с божьcglib наляпал более емкий синтаксис:

import static bla.bla.PathExtractor.fake;
import static bla.bla.PathExtractor.name;

String name = name( fake( Pet.class ).getName() );
Действительно, выглядит более изящно. Из возможных особенностей, поправьте, если я не прав, такой подход применим только с getter'ами.
Это смотря, что нужно и как сильно можно заморочится. Мне достаточно было самого простого случая — именно getter-ы.
Но во всем прочем применимы те же идеи, что и в mockito.
НЛО прилетело и опубликовало эту надпись здесь
Это мне кажется самый правильный подход, все равно запросы надо тестировать, а юнит тест убьет двух зайцев сразу. Способ из данной статьи лишь гарантирует соответствие констант и методов, но не гарантирует, что запрос будет работать.
С тех пор как IntelliJ IDEA начала поддерживать SQL, HQL, EJBQL и прочие QL, нет никакой потребности в использовании критериев. Более того, критерии делают код громоздким и абсолютно нечитаемым. Так же, нет никакой проблемы с переименованием/удалением свойств.

Нет-нет, я сам когда-то любил критерии. Динамическое формирование запросов и всё такое. Однажды я даже написал критерий строк на 100 где-то. В нем, правда, кроме меня никто не мог разобраться. Но сейчас — это атавизм, который должен исчезнуть. Ведь HQL такой удобный и няшный, а IntelliJ IDEA его красиво раскрасит и свойства проверит. Ну зачем вам критерии?

Используйте IntelliJ IDEA.
Не используйте критерии.
весьма холиварный по своей сути комментарий
НЛО прилетело и опубликовало эту надпись здесь
Ну для динамических запросов я и сам критерии использую. Но по мне так, необходимость создать динамический запрос говорит о какой-то проблеме. Конечно, иногда они необходимы, но 1-2 на проект. А если все строится на динамических запросах, значит что-то не так. Вообще, динамические запросы — рассадник ошибок тот еще.

Насчет понятности, как по мне, так HQL раз в десять понятней и раз в пять короче, чем критерии.

В общем, в исключительных случаях я критерии использую, но мне не по себе каждый раз.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории