home.social

#hibernate — Public Fediverse posts

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

  1. WildFly 41 Final is now available in Maven and from wildfly.org/downloads/. We've got new JDK 25 images, bootable jar improvements, a number of preview features promoted to higher stability levels, ORM 7.4 and more. Learn all about it at wildfly.org/news/2026/07/16/Wi

  2. WildFly 41 Final is now available in Maven and from wildfly.org/downloads/. We've got new JDK 25 images, bootable jar improvements, a number of preview features promoted to higher stability levels, #Hibernate ORM 7.4 and more. Learn all about it at wildfly.org/news/2026/07/16/Wi

  3. Что вам нужно знать про семантику List и Set в Hibernate

    Привет, друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках Spring АйО Академии я встречал большое количество похожих вопросов, посвященных правильному дизайну сущностей и другим похожим вопросам. Я обещался на все эти вопросы ответить в рамках статьи. На самом деле, одной статьи у меня не вышло, скорее всего, будет серия статей. Надеюсь, будет интересно :)

    habr.com/ru/companies/spring_a

    #hibernate #java #orm #sql #springdata

  4. Что вам нужно знать про семантику List и Set в Hibernate

    Привет, друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках Spring АйО Академии я встречал большое количество похожих вопросов, посвященных правильному дизайну сущностей и другим похожим вопросам. Я обещался на все эти вопросы ответить в рамках статьи. На самом деле, одной статьи у меня не вышло, скорее всего, будет серия статей. Надеюсь, будет интересно :)

    habr.com/ru/companies/spring_a

    #hibernate #java #orm #sql #springdata

  5. Что вам нужно знать про семантику List и Set в Hibernate

    Привет, друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках Spring АйО Академии я встречал большое количество похожих вопросов, посвященных правильному дизайну сущностей и другим похожим вопросам. Я обещался на все эти вопросы ответить в рамках статьи. На самом деле, одной статьи у меня не вышло, скорее всего, будет серия статей. Надеюсь, будет интересно :)

    habr.com/ru/companies/spring_a

    #hibernate #java #orm #sql #springdata

  6. #AI can query your DB—but can it do it correctly? That’s the hard part. @MarcoBelladelli shows how #Hibernate + #Quarkus + #LangChain4j add validation & control back. Want fewer production surprises?

    Dive in: javapro.io/2026/04/03/talk-to-

    #LLM #Java @Hibernate @QuarkusIO @langchain4j

  7. #AI can query your DB—but can it do it correctly? That’s the hard part. @MarcoBelladelli shows how #Hibernate + #Quarkus + #LangChain4j add validation & control back. Want fewer production surprises?

    Dive in: javapro.io/2026/04/03/talk-to-

    #LLM #Java @Hibernate @QuarkusIO @langchain4j

  8. #AI can query your DB—but can it do it correctly? That’s the hard part. @MarcoBelladelli shows how #Hibernate + #Quarkus + #LangChain4j add validation & control back. Want fewer production surprises?

    Dive in: javapro.io/2026/04/03/talk-to-

    #LLM #Java @Hibernate @QuarkusIO @langchain4j

  9. North: MEADOW

    cows in the #meadow
    their moos echoing lowly
    munch on the spring grass

    South: HIBERNATE

    store food for winter
    #hibernate under the snow
    they sleep quietly

    #dailyhaikuprompt #haiku #poetry #writing #writingcommunity

  10. North: MEADOW

    cows in the #meadow
    their moos echoing lowly
    munch on the spring grass

    South: HIBERNATE

    store food for winter
    #hibernate under the snow
    they sleep quietly

    #dailyhaikuprompt #haiku #poetry #writing #writingcommunity

  11. @ollieread I really like the row level security approach for multitenancy. It works well with spring boot / hibernate / liquibase. The only downside for me: I found no easy solution for per tenant sequences (e.g. for invoice numbers).
    #PostgreSQL #SpringBoot #Hibernate #Liquibase #Multitenancy

  12. @ollieread I realy like the row level security approach for multitenancy. It works well with spring boot / hibernate / liquibase. The only downside for me: I found no easy solution for per tenant sequences (e.g. for invoice numbers).
    #PostgreSQL #SpringBoot #Hibernate #Liquibase #Multitenancy

  13. ORM — есть ли профит? Особенно когда по двору бегает ИИ-шка

    ORM — Object-Relational Mapping — Объектно-реляционное отображение — это технология, позволяющая связывать SQL-ые БД с ООП кодом. Самая известная из них — Hibernate. Hibernate — очень красивая технология. Она формирует ощущение магии. Ты просто создаёшь объект, — хлабысь! — он уже в базе данных. Никакого SQL, никаких соединений, никаких ResultSet. Всё происходит как будто само собой. Прелесть. Именно поэтому отказаться от Hibernate так тяжело. Это напоминает Кольцо Всевластия из «Властелина колец». Оно не просто давало силу — оно меняло сознание своего владельца. Оно внушало мысль, что без него уже нельзя. Что именно оно даёт власть и контроль. Hibernate действует очень похоже. Он формирует ощущение, что именно он управляет данными. Что именно он связывает код с базой. Что без него всё развалится. И ты начинаешь бояться. Бояться, что без Hibernate придётся писать бесконечный SQL. Бояться, что потеряешь контроль над данными. Бояться, что любая операция с базой превратится в мучение. Ты уже не представляешь себе проект без этой магии. Ты настолько к ней привык, что мысль «выкинуть Hibernate» кажется почти кощунственной. Кажется, будто вместе с ним исчезнет и сама возможность нормально работать с базой данных.

    habr.com/ru/articles/1050990/

    #ORM #hibernate #sql

  14. Один ко многим в Java: когда коллекция в родителе оправдана, а когда — нет

    Реляционная модель хранит FK на стороне дочерней таблицы. В Java у нас два способа отразить эту связь: коллекция в родительской сущности ( @OneToMany / List) или ссылка в дочерней ( @ManyToOne / long parentId). Выбор между ними влияет на поведение при записи — и именно здесь большинство решений принимаются без достаточного обоснования. Тест, который даёт однозначный ответ Влад Михалча формулирует так: ассоциация @ManyToOne является наиболее естественным способом отображения связи «один ко многим» в базе данных и, как правило, наиболее эффективной альтернативой. Практический критерий: если убрать коллекцию и заменить её отдельным запросом, какое бизнес-правило перестанет работать? Если ответ — «никакое, просто список будет получаться отдельным запросом» — коллекция не нужна как часть модели. Если ответ — «нарушится инвариант» — коллекция оправдана. Типичные случаи:

    habr.com/ru/articles/1050776/

    #java #jpa #hibernate #spring #spring_data #jdbc #onetomany #manytoone #ddd #aggregate

  15. Один ко многим в Java: когда коллекция в родителе оправдана, а когда — нет

    Реляционная модель хранит FK на стороне дочерней таблицы. В Java у нас два способа отразить эту связь: коллекция в родительской сущности ( @OneToMany / List) или ссылка в дочерней ( @ManyToOne / long parentId). Выбор между ними влияет на поведение при записи — и именно здесь большинство решений принимаются без достаточного обоснования. Тест, который даёт однозначный ответ Влад Михалча формулирует так: ассоциация @ManyToOne является наиболее естественным способом отображения связи «один ко многим» в базе данных и, как правило, наиболее эффективной альтернативой. Практический критерий: если убрать коллекцию и заменить её отдельным запросом, какое бизнес-правило перестанет работать? Если ответ — «никакое, просто список будет получаться отдельным запросом» — коллекция не нужна как часть модели. Если ответ — «нарушится инвариант» — коллекция оправдана. Типичные случаи:

    habr.com/ru/articles/1050776/

    #java #jpa #hibernate #spring #spring_data #jdbc #onetomany #manytoone #ddd #aggregate

  16. Один ко многим в Java: когда коллекция в родителе оправдана, а когда — нет

    Реляционная модель хранит FK на стороне дочерней таблицы. В Java у нас два способа отразить эту связь: коллекция в родительской сущности ( @OneToMany / List) или ссылка в дочерней ( @ManyToOne / long parentId). Выбор между ними влияет на поведение при записи — и именно здесь большинство решений принимаются без достаточного обоснования. Тест, который даёт однозначный ответ Влад Михалча формулирует так: ассоциация @ManyToOne является наиболее естественным способом отображения связи «один ко многим» в базе данных и, как правило, наиболее эффективной альтернативой. Практический критерий: если убрать коллекцию и заменить её отдельным запросом, какое бизнес-правило перестанет работать? Если ответ — «никакое, просто список будет получаться отдельным запросом» — коллекция не нужна как часть модели. Если ответ — «нарушится инвариант» — коллекция оправдана. Типичные случаи:

    habr.com/ru/articles/1050776/

    #java #jpa #hibernate #spring #spring_data #jdbc #onetomany #manytoone #ddd #aggregate

  17. Когда Hibernate плевать на ваш OneToOne Lazy Loading

    Привет, Друзья! На связи Михаил Поливаха, технический лидер проекта Axelix . В рамках программы Hibernate в Spring АйО Academy мы краем обсудили тему, касаемую того, что @OneToOne отличается от других отношений. В частности, Hibernate может спокойно грузить его Eagerly, даже если вы явно поставите FetchType.LAZY . У парней был закономерный вопрос - почему? И знаете, к моему удивлению, нормального материала в сети я не нашёл. В общем, решил выпустить статью, которая не просто отвечает на этот вопрос, а даёт прямо хороший, развернутый ответ на то, почему Hibernate это делает. Иными словами, я в статье постараюсь детально пояснить: Что на самом деле такое FetchType.LAZY ? Почему @OneToOne не всегда возможно сделать Lazy именно в Java ? Почему при этом @ManyToOne можно сделать Lazy всегда (предполагая не final класс сущности)? Разберём по шагам.

    habr.com/ru/companies/spring_a

    #hibernate #java #spring #orm #axelix #springdata

  18. Hibernate 7.4 moves temporal reads and audit history into the mapping model. @Temporal gives an entity point-in-time snapshots. @Audited gives full changeset history. No Envers, no mirror entities, no listeners copying state on update.

    Built a small VaultLedger service in Quarkus with both features, tested from the HTTP boundary.

    the-main-thread.com/p/quarkus-

    #Hibernate #Quarkus #Java #TemporalData #AuditLog

  19. Hibernate 7.4 moves temporal reads and audit history into the mapping model. @Temporal gives an entity point-in-time snapshots. @Audited gives full changeset history. No Envers, no mirror entities, no listeners copying state on update.

    Built a small VaultLedger service in Quarkus with both features, tested from the HTTP boundary.

    the-main-thread.com/p/quarkus-

    #Hibernate #Quarkus #Java #TemporalData #AuditLog

  20. Skill of the Week: Spring Data JPA. Никто не знает JPA, даже AI

    Знание и умение разрабатывать на Spring Data JPA — это обязательный навык для разработчика, если он хочет заниматься разработкой приложений на Spring. Этого мы ожидаем и от AI-агента. Удовлетворяют ли наши AI-агента этому условию? Во многом зависит от того, насколько продвинутую модель вы используете. Значит ли это, что Opus 4.8 не совершает ошибок? Совсем нет. Более того, иногда удивляешься, почему еще вчера он настроил связь правильно, а уже сегодня сделал ту же работу, но добавил CascadeType.ALL . В сегодняшнем эпизоде еженедельной рубрики Skill of the Week разберёмся, как, используя Spring Data JPA Skill , научить своего агента важным навыкам при работе со Spring Data JPA.

    habr.com/ru/companies/haulmont

    #aiагенты #jpa #spring_data_jpa #java #spring #spring_boot #hibernate #skills

  21. Skill of the Week: Spring Data JPA. Никто не знает JPA, даже AI

    Знание и умение разрабатывать на Spring Data JPA — это обязательный навык для разработчика, если он хочет заниматься разработкой приложений на Spring. Этого мы ожидаем и от AI-агента. Удовлетворяют ли наши AI-агента этому условию? Во многом зависит от того, насколько продвинутую модель вы используете. Значит ли это, что Opus 4.8 не совершает ошибок? Совсем нет. Более того, иногда удивляешься, почему еще вчера он настроил связь правильно, а уже сегодня сделал ту же работу, но добавил CascadeType.ALL . В сегодняшнем эпизоде еженедельной рубрики Skill of the Week разберёмся, как, используя Spring Data JPA Skill , научить своего агента важным навыкам при работе со Spring Data JPA.

    habr.com/ru/companies/haulmont

    #aiагенты #jpa #spring_data_jpa #java #spring #spring_boot #hibernate #skills

  22. Skill of the Week: Spring Data JPA. Никто не знает JPA, даже AI

    Знание и умение разрабатывать на Spring Data JPA — это обязательный навык для разработчика, если он хочет заниматься разработкой приложений на Spring. Этого мы ожидаем и от AI-агента. Удовлетворяют ли наши AI-агента этому условию? Во многом зависит от того, насколько продвинутую модель вы используете. Значит ли это, что Opus 4.8 не совершает ошибок? Совсем нет. Более того, иногда удивляешься, почему еще вчера он настроил связь правильно, а уже сегодня сделал ту же работу, но добавил CascadeType.ALL . В сегодняшнем эпизоде еженедельной рубрики Skill of the Week разберёмся, как, используя Spring Data JPA Skill , научить своего агента важным навыкам при работе со Spring Data JPA.

    habr.com/ru/companies/haulmont

    #aiагенты #jpa #spring_data_jpa #java #spring #spring_boot #hibernate #skills

  23. [Перевод] Новые возможности Hibernate 7.4

    Hibernate 7.4 исправляет старую проблему с пагинацией и fetch join. Раньше запрос на первые 10 Order вместе с OrderItem не мог безопасно ограничиться на уровне SQL. Из-за join один заказ превращался в несколько строк, и limit мог обрезать коллекцию. Поэтому Hibernate загружал все подходящие строки, а страницу выбирал уже в памяти. На больших данных это било по памяти и могло закончиться OutOfMemoryException . Теперь Hibernate сначала выбирает нужные id родительских сущностей во вложенном запросе, а затем загружает для них полные дочерние коллекции. Пагинация остается в БД, данные не режутся. Еще в 7.4 появились history и audit tables. @Temporal хранит версии строк и позволяет читать сущность на конкретный момент времени. @Audited пишет изменения ADD / MOD / DEL в audit-таблицу без Envers.

    habr.com/ru/companies/spring_a

    #hibernate #hibernate_orm #orm #java #jpa #kotlin

  24. [Перевод] Новые возможности Hibernate 7.4

    Hibernate 7.4 исправляет старую проблему с пагинацией и fetch join. Раньше запрос на первые 10 Order вместе с OrderItem не мог безопасно ограничиться на уровне SQL. Из-за join один заказ превращался в несколько строк, и limit мог обрезать коллекцию. Поэтому Hibernate загружал все подходящие строки, а страницу выбирал уже в памяти. На больших данных это било по памяти и могло закончиться OutOfMemoryException . Теперь Hibernate сначала выбирает нужные id родительских сущностей во вложенном запросе, а затем загружает для них полные дочерние коллекции. Пагинация остается в БД, данные не режутся. Еще в 7.4 появились history и audit tables. @Temporal хранит версии строк и позволяет читать сущность на конкретный момент времени. @Audited пишет изменения ADD / MOD / DEL в audit-таблицу без Envers.

    habr.com/ru/companies/spring_a

    #hibernate #hibernate_orm #orm #java #jpa #kotlin

  25. [Перевод] Новые возможности Hibernate 7.4

    Hibernate 7.4 исправляет старую проблему с пагинацией и fetch join. Раньше запрос на первые 10 Order вместе с OrderItem не мог безопасно ограничиться на уровне SQL. Из-за join один заказ превращался в несколько строк, и limit мог обрезать коллекцию. Поэтому Hibernate загружал все подходящие строки, а страницу выбирал уже в памяти. На больших данных это било по памяти и могло закончиться OutOfMemoryException . Теперь Hibernate сначала выбирает нужные id родительских сущностей во вложенном запросе, а затем загружает для них полные дочерние коллекции. Пагинация остается в БД, данные не режутся. Еще в 7.4 появились history и audit tables. @Temporal хранит версии строк и позволяет читать сущность на конкретный момент времени. @Audited пишет изменения ADD / MOD / DEL в audit-таблицу без Envers.

    habr.com/ru/companies/spring_a

    #hibernate #hibernate_orm #orm #java #jpa #kotlin

  26. Our next #JCON2026 session is live: 'Talk to Your Data: Natural Language Data Access in #Java with #Hibernate #Quarkus and LangChain4j' with Marco Melladelli

    Explore how Hibernate ORM, Quarkus, and #LangChain4j come together to enable …

    Grab your coffee and hit play: youtu.be/tMW5jxX6DoA

  27. Our next #JCON2026 session is live: 'Talk to Your Data: Natural Language Data Access in #Java with #Hibernate #Quarkus and LangChain4j' with Marco Melladelli

    Explore how Hibernate ORM, Quarkus, and #LangChain4j come together to enable …

    Grab your coffee and hit play: youtu.be/tMW5jxX6DoA

  28. Our next #JCON2026 session is live: 'Talk to Your Data: Natural Language Data Access in #Java with #Hibernate #Quarkus and LangChain4j' with Marco Melladelli

    Explore how Hibernate ORM, Quarkus, and #LangChain4j come together to enable …

    Grab your coffee and hit play: youtu.be/tMW5jxX6DoA

  29. Our next #JCON2026 session is live: 'Talk to Your Data: Natural Language Data Access in #Java with #Hibernate #Quarkus and LangChain4j' with Marco Melladelli

    Explore how Hibernate ORM, Quarkus, and #LangChain4j come together to enable …

    Grab your coffee and hit play: youtu.be/tMW5jxX6DoA

  30. Our next #JCON2026 session is live: 'Talk to Your Data: Natural Language Data Access in #Java with #Hibernate #Quarkus and LangChain4j' with Marco Melladelli

    Explore how Hibernate ORM, Quarkus, and #LangChain4j come together to enable …

    Grab your coffee and hit play: youtu.be/tMW5jxX6DoA

  31. 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

  32. 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

  33. 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

  34. Will see how it goes next week but so far it seems that by far the biggest problem in my Linux journey will be hibernation. Not only that it seems to be rather complex setup (e.g., I found this for my Mint github.com/linuxmint/linuxmint), but that hibernation is done in swap file/partition, so there is no way to guarantee that it will not fail became swap was too full.
    #Linux #MintLinux #LinuxJourney #hibernate

  35. Will see how it goes next week but so far it seems that by far the biggest problem in my Linux journey will be hibernation. Not only that it seems to be rather complex setup (e.g., I found this for my Mint github.com/linuxmint/linuxmint), but that hibernation is done in swap file/partition, so there is no way to guarantee that it will not fail became swap was too full.
    #Linux #MintLinux #LinuxJourney #hibernate

  36. It’s been a busy week in the #Java ecosystem!

    Highlights include:
    ➤ Lifecycle changes with two of the JEPs that were targeted for JDK 27; the GA release of Koog 1.0; point releases of Hazelcast, Quarkus, Hibernate and JHipster; the 8th milestone release of Spring AI 2.0; and introducing Endive, a JVM-native WebAssembly (Wasm) runtime.

    🔗#InfoQ News Roundup: bit.ly/4vIiYxB

    #JDK27 #SpringAI #Quarkus #JHipster #Hibernate #WebAssembly #Wasm

  37. It’s been a busy week in the ecosystem!

    Highlights include:
    ➤ Lifecycle changes with two of the JEPs that were targeted for JDK 27; the GA release of Koog 1.0; point releases of Hazelcast, Quarkus, Hibernate and JHipster; the 8th milestone release of Spring AI 2.0; and introducing Endive, a JVM-native WebAssembly (Wasm) runtime.

    🔗#InfoQ News Roundup: bit.ly/4vIiYxB