Es muss nicht immer Angular sein
Es muss nicht immer Angular sein
[Перевод] ORM это Вьетнамcкая Война Компьютерных Наук
Данная публикация является переводом статьи Jeff-a Atwood-а почти 20-ти летней давности. Jeff Atwood, один из фаундеров StackOverFlow, написал эту статью как некоторое резюме того, как человечество боролось с проблемой O/R Impedance Mismatch. Я частично принимаю участие в написании разных ORM решений, например, Spring Data JDBC / R2DBC , и скоро
https://habr.com/ru/companies/spring_aio/articles/972316/
#java #orm #springdata #hibernate #jdbc #jooq #database #rdbms
Spring-boot-starter для паттерна Transaction outbox Kafka
В микросервисной архитектуре мы постоянно сталкиваемся с задачей: сохранить изменения в базе и гарантированно отправить событие в Kafka. На первый взгляд звучит просто — сделал транзакцию, отправил сообщение, закоммитил. Но в реальности между базой данных и брокером сообщений никакой общей транзакции нет. В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter , который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.
https://habr.com/ru/articles/966802/
#kotlin #java #spring #springboot #starter #spring_boot_starter #kafka #outbox #jooq #spring_data_jpa
Что такое JOOQ и как его едят на примере Kotlin + Gradle + JOOQ
Всем привет, сегодня я бы хотел поговорить про JOOQ для чего, зачем и почему и немного сравнить его с Hibernate, Spring data JPA. Долгое время я работал только с Hibernate, Spring data JPA и думал, что лучше них не будет и конкурентов ТОЧНО НЕТ, пока не встретил JOOQ. Сегодня расскажу подробнее что за инструмент, как его лучше приготовить и когда выбрать.
https://habr.com/ru/articles/965018/
#jooq #jooqcodegen #hibernate #spring_data_jpa #kotlin #java
Friends, I'm looking for contracts in HealthCare IT (20+ yrs in this domain, 40+ yrs in IT). Done two #FOSS clinical data repository. Now on federated clinical data analytics. Expert in #openEHR, #FHIR, #SNOMED-CT, PACS, MPI, #Kotlin, #Java, #python, DB: #SQL (#PostgreSQL!), #jOOQ, #distributedSQL, #KnowledgeGraph, APIs, #docker, #linux, #Unix... Very keen on medical projects benefiting rural and/or developing communities. Also looking for tutoring, compliance, security and SOPs. TIA!
📢 #Komunumo Status Update
In the past 2 weeks I redesigned the login with passwordless auth and built a generalized email confirmation, now also used for event registration.
Next: defining MVP steps → fewer commits, more activity on the project board.
Open PR from #Hackergarten Zurich (online editor for global pages) will be pitched again on Sep 25 👉 https://meetup.com/hackergarten-zurich/events/310517961/
Happy to support contributors – especially via remote pair programming! 💡
Как мы затащили jOOQ в высоконагруженный проект с Postgres
Привет, Хабр. Меня зовут Михаил Тимошкин. Я тимлид в команде Тематических каналов в Дзене. Одна из классических головных болей при создании сервиса — синхронизация кода приложения со схемой БД. Есть много инструментов для управления изменениями схемы базы данных, таких как Liquibase или Flyway, для которых существуют плагины с кодогенерацией. Но что, если на проекте ничего подобного нет? Хорошая новость в том, что даже в такой ситуации можно найти эффективное решение! В этом мы убедились на собственном опыте при переходе с Hibernate на jOOQ. В этой статье я расскажу, с какой проблемой мы столкнулись, какие решения рассматривали и что получили в итоге.
Just published a blog post on optimizing Gradle builds with Docker, Flyway, jOOQ & Postgres 🐘🐳🐦
I hit a weird issue where the DB started up even when everything was up-to-date. Turns out: Gradle task graphs & build services can be tricky!
Here’s how I fixed it with a cleaner setup 👇
https://britter.dev/blog/2025/07/22/gradle-jooq-docker/
`net.ltgt.jooq` (and `net.ltgt.jooq-kotlin`) is an alternative to the official jOOQ plugin, or Etienne Studer's plugin, that unnecessarily bloat your build scripts with the generator configuration; also meant to be run at dev time with generated files committed to your repo.
Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы
В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным. В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC. Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC. Это будут jOOQ и Exposed.
https://habr.com/ru/companies/sberbank/articles/906590/
#java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc
Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring
С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring? Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина. Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива! О них и поговорим.
https://habr.com/ru/companies/sberbank/articles/890338/
#java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc
Few of my "top three":
#postgresql the Linux of DB
#JOOQ modernized querying the above and many others
#Kotlin makes coding great again 😉
None of my boxes run Kro$oft btw (totally banned at home as well)
Found 3 SQL injections in an 2 month old Java application. They used jooq raw sql and simply string.replace the placeholders before passing it to context.fetch instead of passing the values as arguments to fetch 🙄🤷
#Java #jooq #SQLinjection
JOOQ — не замена Hibernate. Они решают разные проблемы
Последние год-полтора я натыкаюсь на статьи и доклады (особенно в англоязычном сегменте) о том, что JOOQ – это современная и более крутая альтернатива Hibernate. Скажу сразу, что я считаю JOOQ отличной библиотекой (именно библиотекой, а не фреймворком, в отличие от Hibernate). Он прекрасно справляется со своей задачей – работой с SQL в режиме статической типизации, чтобы отловить большинство ошибок на этапе компиляции. Но когда я слышу аргумент, что время Hibernate прошло и пора все писать на JOOQ, для меня это звучит примерно так же, как то, что время реляционных БД прошло и теперь нужно использовать только NoSQL. Звучит смешно? Но по меркам истории буквально вчера такие разговоры велись вполне серьезно. Я думаю, дело кроется в непонимании корневых проблем, которые решают эти два инструмента. Этой статьей я хочу ответить на эти вопросы.
https://habr.com/ru/articles/872562/
#java #hibernate #jpa #orm #программирование #jooq #sql #базы_данных
JUGPD DAY 2024 #2 + Assemblea 2024
https://mobilizon.it/events/82b87de2-1731-486c-abe2-177f4386559f
Wrapping up @frankdelporte 's @jcon_conference :foojay: podcast series, he speaks to @SimonMartinelli , @frankel , @marcushellberg , Rick Ossendrijver, and Abdel Sghiouar on #JOOQ, #GraphQL, #vaadin, #openrewrite and much more!
Почему JOOQ — идеальный инструмент для работы с БД при интеграционном тестировании API
Привет! Меня зовут Евгений, я SDET-специалист в SimbirSoft. Хочу поделиться примером того, как я автоматизировал тестирование API, заменив встроенные JDBC-средства на JOOQ. И расскажу, почему считаю это лучшим решением. Все началось с того, что передо мной поставили задачу автоматизировать тестирование API с проверкой данных в БД. Так как проект только начинался, а я один отвечал за эту часть работы, то надо было сделать всё с нуля. Мне хотелось сделать все идеально (удобно, понятно, масштабируемо, с удобной поддержкой кода). Получилось все, кроме одного — масштабирование сверки данных из БД. Об этом и пойдет речь. А в конце вы найдете ссылку на исходный код. Читать далее 🐞
https://habr.com/ru/companies/simbirsoft/articles/817253/
#jooq #jdb #тестирование_api #интеграционное_тестирование #автотесты #spring_data_jpa
JOOQ. Введение
Техническое и философское осмысление библиотеки для взаимодействия с базой данных JOOQ . В введении мы бегло, но точно, пробежимся по верхам, что бы создать некоторый костях того, что в последующих статьях будет обрастать плотью.