Андрей Околелов, РСХБ-Интех - Средство генерации SQL-запроса для упрощения задач по тестированию
Вставка
- Опубліковано 10 кві 2024
- Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
SQL-запрос написать просто, когда это обычный Select, но как становится сложно, когда критериев очень много, а вариативности еще больше! А если еще добавить команду разработчиков со своими тараканами, то процесс становится очень трудным.
Спикер рассказывает о том, как внимание к деталям и смена фокуса: от модели - к предметной области позволит решить множество проблем разработки и создать удобный инструмент не только для разработчика, но и для всей команды.
Скачать презентацию с сайта Joker - jrg.su/Gf6DJD
#sql #testing - Наука та технологія
Когда маленький отдел развития АБС ЦФТ в первый раз увидел джаву, наваял своё и отправил начальника делать доклад…
Я могу ошибаться в своих суждениях, тк прокликал презентацию достаточно быстро, но по-моему команда автора доклада просто не в курсе, что есть QueryDsl, который все эти типизированные билдеры генерит за три секунды. И ещё что есть критериа апи, который тоже классный. Но запросы, конечно, будут не самые быстрые в своём большинстве.
Я ещё напрягся, когда про хибернейт речь зашла как про какое-то открытие, и когда в запросах на скриншотах были стринг-форматы...
У меня нет претензий к докладчику, тк он не позиционирует себя как синьор помидор разработчик(и не является им), вопросы скорее к организаторам: почему это подаётся как какое-то полезное ноу-хау?
а почему стринг форматы смутили? о чем это говорит?
@@yurajoker97 для одноразового запроса в тестах - терпимо. Но в целом нужно использовать параметризированные запросы, т.к. это добавляет валидаций от фреймворка + используется prepared statement, который прекомпилируется на уровне базы, и при переиспользовании операция выполняется эффективнее
"why you should not use string format for jdbc queries"
Gemini:
```
There are two main reasons why you should avoid using string formatting for JDBC queries:
Security Risk: String formatting leaves your application vulnerable to SQL injection attacks. SQL injection attacks occur when an attacker inserts malicious code into a query, tricking the database into executing unintended actions.
Inefficiency: String formatting can be less efficient than using prepared statements. When you use string formatting, the database has to re-parse and compile the query every time you execute it. Prepared statements, on the other hand, are pre-compiled by the database, which can improve performance.
```
Комментаторы выше не понимают о чем речь, это простой билдер поверх хибера. Хотя в хилере он и так есть )
Для целей именно тестирования возможно и ORM особо не нужен, можно было обойтись JOOQ.
Если действительно прямо хочется ORM для Java, изобретать новый ORM в 202x... Их же миллион готовых на любой вкус, как реализующих JPA, так и работающих не по стандарту.
Для тестов Java в целом не очень хорошо подходит, она слишком многословна и DSL в ней нереально делать.
Я бы перешёл на kotlin для тестов.
Велосипед😂