home.social

#jooq — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #jooq, aggregated by home.social.

fetched live
  1. JPA отлично справляется с полными графами. А что насчёт частичных?

    JPA не предоставляет first-class модель для частичных вложенных графов как концепта. Для этого нужны JDBC (ручная сборка), jOOQ (MULTISET) или Blaze Persistence (Entity Views). Большинство обсуждений вокруг persistence начинается не с той проблемы. Мы сравниваем фреймворки, SQL-инструменты, ORM… Но реальная проблема проще и фундаментальнее: Реляционный JOIN результат имеет плоскую форму по умолчанию. Приложениям нужны вложенные объектные графы или специализированные формы данных. Реляционная реальность Рассмотрим простую модель: Owner → Pet → Visit В реляционной базе — три таблицы с foreign key связями. После JOIN:

    habr.com/ru/articles/1044354/

    #jpa #Hibernate #Blaze_Persistence #Entity_Views #jOOQ #MULTISET #JDBC #SQL #ORM #EntityGraph

  2. JPA отлично справляется с полными графами. А что насчёт частичных?

    JPA не предоставляет first-class модель для частичных вложенных графов как концепта. Для этого нужны JDBC (ручная сборка), jOOQ (MULTISET) или Blaze Persistence (Entity Views). Большинство обсуждений вокруг persistence начинается не с той проблемы. Мы сравниваем фреймворки, SQL-инструменты, ORM… Но реальная проблема проще и фундаментальнее: Реляционный JOIN результат имеет плоскую форму по умолчанию. Приложениям нужны вложенные объектные графы или специализированные формы данных. Реляционная реальность Рассмотрим простую модель: Owner → Pet → Visit В реляционной базе — три таблицы с foreign key связями. После JOIN:

    habr.com/ru/articles/1044354/

    #jpa #Hibernate #Blaze_Persistence #Entity_Views #jOOQ #MULTISET #JDBC #SQL #ORM #EntityGraph

  3. JPA отлично справляется с полными графами. А что насчёт частичных?

    JPA не предоставляет first-class модель для частичных вложенных графов как концепта. Для этого нужны JDBC (ручная сборка), jOOQ (MULTISET) или Blaze Persistence (Entity Views). Большинство обсуждений вокруг persistence начинается не с той проблемы. Мы сравниваем фреймворки, SQL-инструменты, ORM… Но реальная проблема проще и фундаментальнее: Реляционный JOIN результат имеет плоскую форму по умолчанию. Приложениям нужны вложенные объектные графы или специализированные формы данных. Реляционная реальность Рассмотрим простую модель: Owner → Pet → Visit В реляционной базе — три таблицы с foreign key связями. После JOIN:

    habr.com/ru/articles/1044354/

    #jpa #Hibernate #Blaze_Persistence #Entity_Views #jOOQ #MULTISET #JDBC #SQL #ORM #EntityGraph

  4. [Перевод] Spring Data. На пути к более строгой типизации

    В новом переводе от команды Spring АйО разберем, почему stringly-typed API со временем становятся хрупкими, чем помогают метамодели вроде Querydsl и JPA Criteria, и как новый механизм в Spring Data даёт более лёгкую и естественную альтернативу без лишней инфраструктуры сборки.

    habr.com/ru/companies/spring_a

    #spring #spring_data #spring_boot #spring_framework #java #kotlin #jooq

  5. [Перевод] Spring Data. На пути к более строгой типизации

    В новом переводе от команды Spring АйО разберем, почему stringly-typed API со временем становятся хрупкими, чем помогают метамодели вроде Querydsl и JPA Criteria, и как новый механизм в Spring Data даёт более лёгкую и естественную альтернативу без лишней инфраструктуры сборки.

    habr.com/ru/companies/spring_a

    #spring #spring_data #spring_boot #spring_framework #java #kotlin #jooq

  6. [Перевод] Spring Data. На пути к более строгой типизации

    В новом переводе от команды Spring АйО разберем, почему stringly-typed API со временем становятся хрупкими, чем помогают метамодели вроде Querydsl и JPA Criteria, и как новый механизм в Spring Data даёт более лёгкую и естественную альтернативу без лишней инфраструктуры сборки.

    habr.com/ru/companies/spring_a

    #spring #spring_data #spring_boot #spring_framework #java #kotlin #jooq

  7. That is when I started looking into @jOOQ.
    It requires solid SQL knowledge and more explicit DTOs.
    But it is honest about what it does.
    You always see the query you are actually running.
    #SQL #jOOQ

  8. That is when I started looking into @jOOQ.
    It requires solid SQL knowledge and more explicit DTOs.
    But it is honest about what it does.
    You always see the query you are actually running.
    #SQL #jOOQ

  9. That is when I started looking into @jOOQ.
    It requires solid SQL knowledge and more explicit DTOs.
    But it is honest about what it does.
    You always see the query you are actually running.
    #SQL #jOOQ

  10. That is when I started looking into @jOOQ.
    It requires solid SQL knowledge and more explicit DTOs.
    But it is honest about what it does.
    You always see the query you are actually running.
    #SQL #jOOQ

  11. That is when I started looking into @jOOQ.
    It requires solid SQL knowledge and more explicit DTOs.
    But it is honest about what it does.
    You always see the query you are actually running.
    #SQL #jOOQ

  12. [Перевод] ORM это Вьетнамcкая Война Компьютерных Наук

    Данная публикация является переводом статьи Jeff-a Atwood-а почти 20-ти летней давности. Jeff Atwood, один из фаундеров StackOverFlow, написал эту статью как некоторое резюме того, как человечество боролось с проблемой O/R Impedance Mismatch. Я частично принимаю участие в написании разных ORM решений, например, Spring Data JDBC / R2DBC , и скоро

    habr.com/ru/companies/spring_a

    #java #orm #springdata #hibernate #jdbc #jooq #database #rdbms

  13. [Перевод] ORM это Вьетнамcкая Война Компьютерных Наук

    Данная публикация является переводом статьи Jeff-a Atwood-а почти 20-ти летней давности. Jeff Atwood, один из фаундеров StackOverFlow, написал эту статью как некоторое резюме того, как человечество боролось с проблемой O/R Impedance Mismatch. Я частично принимаю участие в написании разных ORM решений, например, Spring Data JDBC / R2DBC , и скоро

    habr.com/ru/companies/spring_a

    #java #orm #springdata #hibernate #jdbc #jooq #database #rdbms

  14. [Перевод] ORM это Вьетнамcкая Война Компьютерных Наук

    Данная публикация является переводом статьи Jeff-a Atwood-а почти 20-ти летней давности. Jeff Atwood, один из фаундеров StackOverFlow, написал эту статью как некоторое резюме того, как человечество боролось с проблемой O/R Impedance Mismatch. Я частично принимаю участие в написании разных ORM решений, например, Spring Data JDBC / R2DBC , и скоро

    habr.com/ru/companies/spring_a

    #java #orm #springdata #hibernate #jdbc #jooq #database #rdbms

  15. Spring-boot-starter для паттерна Transaction outbox Kafka

    В микросервисной архитектуре мы постоянно сталкиваемся с задачей: сохранить изменения в базе и гарантированно отправить событие в Kafka. На первый взгляд звучит просто — сделал транзакцию, отправил сообщение, закоммитил. Но в реальности между базой данных и брокером сообщений никакой общей транзакции нет. В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter , который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.

    habr.com/ru/articles/966802/

    #kotlin #java #spring #springboot #starter #spring_boot_starter #kafka #outbox #jooq #spring_data_jpa

  16. Spring-boot-starter для паттерна Transaction outbox Kafka

    В микросервисной архитектуре мы постоянно сталкиваемся с задачей: сохранить изменения в базе и гарантированно отправить событие в Kafka. На первый взгляд звучит просто — сделал транзакцию, отправил сообщение, закоммитил. Но в реальности между базой данных и брокером сообщений никакой общей транзакции нет. В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter , который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.

    habr.com/ru/articles/966802/

    #kotlin #java #spring #springboot #starter #spring_boot_starter #kafka #outbox #jooq #spring_data_jpa

  17. Spring-boot-starter для паттерна Transaction outbox Kafka

    В микросервисной архитектуре мы постоянно сталкиваемся с задачей: сохранить изменения в базе и гарантированно отправить событие в Kafka. На первый взгляд звучит просто — сделал транзакцию, отправил сообщение, закоммитил. Но в реальности между базой данных и брокером сообщений никакой общей транзакции нет. В этой статье я покажу, как я вынес всю логику Transaction Outbox в отдельный Spring Boot Starter , который можно подключить одной зависимостью. Он создаёт таблицу Outbox, конфигурирует шедулер, отвечает за отправку в Kafka и очистку, позволяя микросервисам сосредоточиться только на бизнес-логике.

    habr.com/ru/articles/966802/

    #kotlin #java #spring #springboot #starter #spring_boot_starter #kafka #outbox #jooq #spring_data_jpa

  18. Что такое JOOQ и как его едят на примере Kotlin + Gradle + JOOQ

    Всем привет, сегодня я бы хотел поговорить про JOOQ для чего, зачем и почему и немного сравнить его с Hibernate, Spring data JPA. Долгое время я работал только с Hibernate, Spring data JPA и думал, что лучше них не будет и конкурентов ТОЧНО НЕТ, пока не встретил JOOQ. Сегодня расскажу подробнее что за инструмент, как его лучше приготовить и когда выбрать.

    habr.com/ru/articles/965018/

    #jooq #jooqcodegen #hibernate #spring_data_jpa #kotlin #java

  19. Что такое JOOQ и как его едят на примере Kotlin + Gradle + JOOQ

    Всем привет, сегодня я бы хотел поговорить про JOOQ для чего, зачем и почему и немного сравнить его с Hibernate, Spring data JPA. Долгое время я работал только с Hibernate, Spring data JPA и думал, что лучше них не будет и конкурентов ТОЧНО НЕТ, пока не встретил JOOQ. Сегодня расскажу подробнее что за инструмент, как его лучше приготовить и когда выбрать.

    habr.com/ru/articles/965018/

    #jooq #jooqcodegen #hibernate #spring_data_jpa #kotlin #java

  20. Что такое JOOQ и как его едят на примере Kotlin + Gradle + JOOQ

    Всем привет, сегодня я бы хотел поговорить про JOOQ для чего, зачем и почему и немного сравнить его с Hibernate, Spring data JPA. Долгое время я работал только с Hibernate, Spring data JPA и думал, что лучше них не будет и конкурентов ТОЧНО НЕТ, пока не встретил JOOQ. Сегодня расскажу подробнее что за инструмент, как его лучше приготовить и когда выбрать.

    habr.com/ru/articles/965018/

    #jooq #jooqcodegen #hibernate #spring_data_jpa #kotlin #java

  21. 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!

  22. 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!

  23. 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!

  24. 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!

  25. 📢 #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 👉 meetup.com/hackergarten-zurich

    Happy to support contributors – especially via remote pair programming! 💡

    #OpenSource #Java #Vaadin #SpringBoot #jOOQ

  26. 📢 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 Zurich (online editor for global pages) will be pitched again on Sep 25 👉 meetup.com/hackergarten-zurich

    Happy to support contributors – especially via remote pair programming! 💡

  27. 📢 #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 👉 meetup.com/hackergarten-zurich

    Happy to support contributors – especially via remote pair programming! 💡

    #OpenSource #Java #Vaadin #SpringBoot #jOOQ

  28. 📢 #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 👉 meetup.com/hackergarten-zurich

    Happy to support contributors – especially via remote pair programming! 💡

    #OpenSource #Java #Vaadin #SpringBoot #jOOQ

  29. 📢 #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 👉 meetup.com/hackergarten-zurich

    Happy to support contributors – especially via remote pair programming! 💡

    #OpenSource #Java #Vaadin #SpringBoot #jOOQ

  30. Как мы затащили jOOQ в высоконагруженный проект с Postgres

    Привет, Хабр. Меня зовут Михаил Тимошкин. Я тимлид в команде Тематических каналов в Дзене. Одна из классических головных болей при создании сервиса — синхронизация кода приложения со схемой БД. Есть много инструментов для управления изменениями схемы базы данных, таких как Liquibase или Flyway, для которых существуют плагины с кодогенерацией. Но что, если на проекте ничего подобного нет? Хорошая новость в том, что даже в такой ситуации можно найти эффективное решение! В этом мы убедились на собственном опыте при переходе с Hibernate на jOOQ. В этой статье я расскажу, с какой проблемой мы столкнулись, какие решения рассматривали и что получили в итоге.

    habr.com/ru/companies/vk/artic

    #jooq #postgres #jooqCodegen #gradleplugin

  31. Как мы затащили jOOQ в высоконагруженный проект с Postgres

    Привет, Хабр. Меня зовут Михаил Тимошкин. Я тимлид в команде Тематических каналов в Дзене. Одна из классических головных болей при создании сервиса — синхронизация кода приложения со схемой БД. Есть много инструментов для управления изменениями схемы базы данных, таких как Liquibase или Flyway, для которых существуют плагины с кодогенерацией. Но что, если на проекте ничего подобного нет? Хорошая новость в том, что даже в такой ситуации можно найти эффективное решение! В этом мы убедились на собственном опыте при переходе с Hibernate на jOOQ. В этой статье я расскажу, с какой проблемой мы столкнулись, какие решения рассматривали и что получили в итоге.

    habr.com/ru/companies/vk/artic

    #jooq #postgres #jooqCodegen #gradleplugin

  32. Как мы затащили jOOQ в высоконагруженный проект с Postgres

    Привет, Хабр. Меня зовут Михаил Тимошкин. Я тимлид в команде Тематических каналов в Дзене. Одна из классических головных болей при создании сервиса — синхронизация кода приложения со схемой БД. Есть много инструментов для управления изменениями схемы базы данных, таких как Liquibase или Flyway, для которых существуют плагины с кодогенерацией. Но что, если на проекте ничего подобного нет? Хорошая новость в том, что даже в такой ситуации можно найти эффективное решение! В этом мы убедились на собственном опыте при переходе с Hibernate на jOOQ. В этой статье я расскажу, с какой проблемой мы столкнулись, какие решения рассматривали и что получили в итоге.

    habr.com/ru/companies/vk/artic

    #jooq #postgres #jooqCodegen #gradleplugin

  33. 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 👇
    britter.dev/blog/2025/07/22/gr

    #gradle #docker #jooq #flyway #java #devlog #programming

  34. 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 👇
    britter.dev/blog/2025/07/22/gr

    #gradle #docker #jooq #flyway #java #devlog #programming

  35. 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 👇
    britter.dev/blog/2025/07/22/gr

    #gradle #docker #jooq #flyway #java #devlog #programming

  36. 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 👇
    britter.dev/blog/2025/07/22/gr

    #gradle #docker #jooq #flyway #java #devlog #programming

  37. 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 👇
    britter.dev/blog/2025/07/22/gr

    #gradle #docker #jooq #flyway #java #devlog #programming

  38. `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.

    github.com/tbroyer/gradle-jooq

    #gradle #jOOQ

  39. `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.

    github.com/tbroyer/gradle-jooq

    #gradle #jOOQ

  40. `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.

    github.com/tbroyer/gradle-jooq

    #gradle #jOOQ

  41. `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.

    github.com/tbroyer/gradle-jooq

    #gradle #jOOQ

  42. `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.

    github.com/tbroyer/gradle-jooq

    #gradle #jOOQ

  43. I’ve been learning Spring Boot and jOOQ for a potential gig and for the most part I like both quite a bit so far! Both seem to have reasonably intuitive DSLs that fit well with Kotlin.

    #java #backend #webdev #spring #jooq #kotlin

  44. I’ve been learning Spring Boot and jOOQ for a potential gig and for the most part I like both quite a bit so far! Both seem to have reasonably intuitive DSLs that fit well with Kotlin.

    #java #backend #webdev #spring #jooq #kotlin

  45. I’ve been learning Spring Boot and jOOQ for a potential gig and for the most part I like both quite a bit so far! Both seem to have reasonably intuitive DSLs that fit well with Kotlin.

    #java #backend #webdev #spring #jooq #kotlin

  46. I’ve been learning Spring Boot and jOOQ for a potential gig and for the most part I like both quite a bit so far! Both seem to have reasonably intuitive DSLs that fit well with Kotlin.

    #java #backend #webdev #spring #jooq #kotlin

  47. I’ve been learning Spring Boot and jOOQ for a potential gig and for the most part I like both quite a bit so far! Both seem to have reasonably intuitive DSLs that fit well with Kotlin.

    #java #backend #webdev #spring #jooq #kotlin

  48. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы

    В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным. В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC. Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC. Это будут jOOQ и Exposed.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  49. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы

    В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным. В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC. Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC. Это будут jOOQ и Exposed.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  50. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы

    В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным. В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC. Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC. Это будут jOOQ и Exposed.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  51. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

    С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring? Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина. Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива! О них и поговорим.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  52. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

    С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring? Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина. Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива! О них и поговорим.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  53. Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

    С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring? Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина. Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива! О них и поговорим.

    habr.com/ru/companies/sberbank

    #java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

  54. @openrisk

    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)