Как-то особо не обращал на него внимание, а тут вдруг задумался и хочу понять, надо ли оно мне.
В целом пользуюсь JPA/Hibernate. Основное, что концептуально не нравится это заложенная мутабельность. Когда разработчики жаву тянут на immutable, это неудобно. Те же records использовать не получится. Ну и сложная это штука, Hibernate этот, по сути. Я с ним уже свыкся, а кто нет — могут ерунды наделать на ровном месте.
Поэтому в целом я всегда смотрел в сторону библиотек, где прослойка между API и SQL потоньше. Но они все мне по разным причинам не нравились. Но вот конкретно на эту — не обращал внимания почему-то.
Основное, что мне не нравится в Spring Data, это их основная фича — вывод запроса из именования метода. Мне кажется это какой-то дичь. Любой нетривиальный запрос превращается в какую-то кашу. Поэтому Spring Data JPA я не пользуюсь.
Я плохо понял, как использовать Spring Data JDBC без этой "фичи".
Также могу отметить, что тупо писать везде чистый SQL я тоже не считаю разумным. iBatis-ом я пользовался, своё место у него есть, но в целом это неудобно. Маппинг из класса в таблицу нужен и автогенерация запроса на основе этого маппинга тоже нужна.
Вроде можно писать @Query("select * from table"), но вообще умные люди не советуют так делать. Если есть большие текстовые поля, которые в результате не используются (или вообще не замаплены), это замедлит такие запросы.
В целом мне хотелось бы писать запросы в стиле JPQL, возможно ограниченные. Есть ли такая фича в Data JDBC?