Spring Boot и JDK 8: Вы все еще используете аннотации @Param, @RequestParam и @PathVariable? Тогда статья для Вас

Здравствуй, Хаброчитатель!
Разрабатывая учебный проект по Spring Boot 2 решил поэксперементировать с @Param в запросах Spring Data JPA, а точнее c их отсутствием:

@Transactional(readOnly = true)
public interface UserRepository extends JpaRepository<User, Integer> {

    @Query("SELECT u FROM User u WHERE LOWER(u.email) = LOWER(:email)")
    Optional<User> findByEmailIgnoreCase(@Param("email") String email);

    Optional<User> findByLastNameContainingIgnoreCase(@Param("lastname") String lastName);
}

(про магию, как работает второй метод есть в старой публикации По следам Spring Pet Clinic).
Убрав @Param можно убедится, что Spring прекрасно работает и без них. Я слышал про параметр в компиляции, который позволяет не дублировать названия в аннотациях, но я ничего не специального не делал, поэтому решил покопать поглубже пожебажить.
Если Вы еще пользуетесь аннотациями из заголовка статьи, Spring Boot и JDK 8, прошу под кат:

Читать дальше →

from Java – Объектно-ориентированный язык программирования http://bit.ly/2Sv97wU

Leave a Reply