#jpa — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jpa, aggregated by home.social.
-
Один ко многим в Java: когда коллекция в родителе оправдана, а когда — нет
Реляционная модель хранит FK на стороне дочерней таблицы. В Java у нас два способа отразить эту связь: коллекция в родительской сущности ( @OneToMany / List) или ссылка в дочерней ( @ManyToOne / long parentId). Выбор между ними влияет на поведение при записи — и именно здесь большинство решений принимаются без достаточного обоснования. Тест, который даёт однозначный ответ Влад Михалча формулирует так: ассоциация @ManyToOne является наиболее естественным способом отображения связи «один ко многим» в базе данных и, как правило, наиболее эффективной альтернативой. Практический критерий: если убрать коллекцию и заменить её отдельным запросом, какое бизнес-правило перестанет работать? Если ответ — «никакое, просто список будет получаться отдельным запросом» — коллекция не нужна как часть модели. Если ответ — «нарушится инвариант» — коллекция оправдана. Типичные случаи:
https://habr.com/ru/articles/1050776/
#java #jpa #hibernate #spring #spring_data #jdbc #onetomany #manytoone #ddd #aggregate
-
Introducing Quarkus Data: One Gateway for Data Access https://quarkus.io/blog/introducing-quarkus-data/
-
Introducing Quarkus Data: One Gateway for Data Access https://quarkus.io/blog/introducing-quarkus-data/
-
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.
https://habr.com/ru/companies/haulmont/articles/1045590/
#aiагенты #jpa #spring_data_jpa #java #spring #spring_boot #hibernate #skills
-
[Перевод] Новые возможности 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.
-
Why should data persistence in 2026 still depend on the database? @wernerwedge analyzes how #JakartaData paves the way for standardized data access — whether Oracle, MongoDB, or Cassandra.
Read now: https://javapro.io/2026/03/03/jakarta-data-and-nosql-standardized-data-access-for-jakarta-ee/
-
Why should data persistence in 2026 still depend on the database? @wernerwedge analyzes how #JakartaData paves the way for standardized data access — whether Oracle, MongoDB, or Cassandra.
Read now: https://javapro.io/2026/03/03/jakarta-data-and-nosql-standardized-data-access-for-jakarta-ee/
-
JPA отлично справляется с полными графами. А что насчёт частичных?
JPA не предоставляет first-class модель для частичных вложенных графов как концепта. Для этого нужны JDBC (ручная сборка), jOOQ (MULTISET) или Blaze Persistence (Entity Views). Большинство обсуждений вокруг persistence начинается не с той проблемы. Мы сравниваем фреймворки, SQL-инструменты, ORM… Но реальная проблема проще и фундаментальнее: Реляционный JOIN результат имеет плоскую форму по умолчанию. Приложениям нужны вложенные объектные графы или специализированные формы данных. Реляционная реальность Рассмотрим простую модель: Owner → Pet → Visit В реляционной базе — три таблицы с foreign key связями. После JOIN:
https://habr.com/ru/articles/1044354/
#jpa #Hibernate #Blaze_Persistence #Entity_Views #jOOQ #MULTISET #JDBC #SQL #ORM #EntityGraph
-
Сокращение ручной работы на примере Spring Boot-проекта: OpenAPI generator, QueryDsl, OpenAI
Привет, Хабр! Меня зовут Александр, я Java-разработчик в GlowByte. Работаю в практике управления рисками и комплаенс (Risk & Compliance). Хочу поделиться своим опытом и в целом рассказать о том, чем мы здесь занимаемся. А занимаемся мы автоматизацией систем управления рисками – от AML (противодействие легализации доходов) и операционных рисков до коллекшна (взыскание просроченной задолженности) и систем принятия решений. Моё направление – как раз последнее: системы принятия решений (СПР). Если коротко, мы автоматизируем стратегии, где нужно в реальном времени перерабатывать кучу входных параметров, учитывать множество факторов и выдавать сложные, комплексные решения. Типичные примеры: оценка риска, предстраховые проверки, системы мониторинга, расчет резервов, расчет комиссионных вознаграждений страховым агентам и многое другое. Чем это интересно? На выходе – не просто «да/нет», а полноценное управляемое бизнес-правило, которое можно быстро менять без переписывания кода. В этой статье хочу поделиться опытом разработки backend API на Spring Boot-проекте, где нам пришлось много работать с OpenAPI-спецификацией, динамическими запросами и тестированием бизнес-логики.
https://habr.com/ru/companies/glowbyte/articles/1040112/
#java #springboot #openapi #querydsl #бэкенд #тестирование #llm #chatgpt #api #jpa
-
Our next #JCON2026 session is live: 'When #ORM Becomes OMG: #Performance Pitfalls in JPA and Friends' with Jos Roseboom
#JPA makes #database interaction feel almost magical—until your app grinds to a halt. In this talk, we’ll take a tour …
Grab your coffee and hit play: https://youtu.be/RjnXUFyXlno
-
Our next #JCON2026 session is live: 'When #ORM Becomes OMG: #Performance Pitfalls in JPA and Friends' with Jos Roseboom
#JPA makes #database interaction feel almost magical—until your app grinds to a halt. In this talk, we’ll take a tour …
Grab your coffee and hit play: https://youtu.be/RjnXUFyXlno
-
История одного // todo, который ждал своего часа пол года
// todo: тут N+1 на invoice — надо переделать через entity graph. Этот комментарий висел в коде полтора года. Все, кто заходил в файл, его видели. Никто не завёл тикет. В пятницу вечером он сработал — и забрал с собой три пода, 30% запросов на критичной ручке и моё спокойствие на выходные.
https://habr.com/ru/articles/1037972/
#java #spring_boot #hibernate #n+1 #outofmemoryerror #постмортем #heap_dump #технический_долг #jpa
-
JPA gehört zu den zentralen Bausteinen moderner Java-Anwendungen, sobald persistente Daten ins Spiel kommen. Statt SQL-Statements überall im Code zu verteilen, kapselt JPA den Zugriff auf relationale Datenbanken sauber und objektorientiert. Du arbeitest mit Java-Objekten, während sich das Framewo
https://magicmarcy.de/einstieg-in-jpa-datenbankzugriff-ohne-sql-chaos
#JPA #Java #Entity #Managed #Programming #Persistance #SQL #JPQL #EntityManager #Persistenz
-
Spring Agent Toolkit: ультимативный набор для вашего AI-агента
AI-агенты уже стали частью повседневной разработки. Сначала это выглядит как магия: формулируешь задачу, получаешь код, тесты, иногда даже готовый PR. Но довольно быстро приходит осознание: – токены улетают слишком быстро; – задача выполняется дольше, чем ожидалось; – результат не всегда совпадает с тем, что было задумано. В этой статье разберем, что с этим можно сделать на практике и почему для хорошего результата критически важен правильно подобранный набор инструментов.
https://habr.com/ru/companies/haulmont/articles/1034688/
#springboot #aiагенты #mcp #skill #jpa #rest #генерация_кода
-
Jeden příklad, jak s #JPA rozvíjet existující datový model a přitom nerezignovat na integritní omezení.
https://blog.zvestov.cz/software%20development/2026/05/14/pridani-not-null-sloupce-v-jpa.html?utm_source=mastodon -
Jeden příklad, jak s #JPA rozvíjet existující datový model a přitom nerezignovat na integritní omezení.
https://blog.zvestov.cz/software%20development/2026/05/14/pridani-not-null-sloupce-v-jpa.html?utm_source=mastodon -
Your tests can be green & your database can still be dying. @AdsChosen explains how to test query efficiency (N+1, joins, time thresholds) as part of your test suite.
Practical setup included: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #JPA #Hibernate #Database #SQL #TestingTools #SpringBoot -
Your tests can be green & your database can still be dying. @AdsChosen explains how to test query efficiency (N+1, joins, time thresholds) as part of your test suite.
Practical setup included: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #JPA #Hibernate #Database #SQL #TestingTools #SpringBoot -
JPA gehört zu den zentralen Bausteinen moderner Java-Anwendungen, sobald persistente Daten ins Spiel kommen. Statt SQL-Statements überall im Code zu verteilen, kapselt JPA den Zugriff auf relationale Datenbanken sauber und objektorientiert. Du arbeitest mit Java-Objekten, während sich das Framewo
https://magicmarcy.de/einstieg-in-jpa-datenbankzugriff-ohne-sql-chaos
#JPA #Java #Entity #Managed #Programming #Persistance #SQL #JPQL #EntityManager #Persistenz
-
#JPA is not a silver bullet — but it doesn’t have to be a bottleneck either. Julius Mischok shows when to tune JPA, when to use projections, and when plain SQL is the better choice.
Read the full piece: https://javapro.io/2025/12/31/high-speed-jpa/
-
#JPA is not a silver bullet — but it doesn’t have to be a bottleneck either. Julius Mischok shows when to tune JPA, when to use projections, and when plain SQL is the better choice.
Read the full piece: https://javapro.io/2025/12/31/high-speed-jpa/
-
БАЗЫ ДАННЫХ db. SQL, REDIS, СУБД
Если серьезно, то сегодня мы поговорим про БАЗЫ данных. Как-то один мой друг разработчик сказал, что программирование можно понимать как
-
[Перевод] JPA 4. Переосмысление Hibernate
Данная статья является переводом анонса Гевина Кингa о релизе первого milestone JPA 4 спецификации и общего вектора развития JPA. Полноценная 4-ая версия JPA спецификации должна выйти чуть-чуть позже в этом году. Тем не менее, то, что сейчас в Milestone это основа, которая, возможно, с небольшими доработками, но уже пойдёт в релиз в этом году. От себя скажу, что данное обновление будет довольно крупное. Я оставил свои комментарии там, где посчитал уместным. P.S: У нас в рамках Spring АйО Академии как раз есть программа посвящённая Hibernate. В ней мы тоже затронем новую версию спецификации, в частности и работу со StatelessSession и EntityAgent на практике. Я думаю, что из всего апдейта, именно стандартизация работы без Persistence Context будет самым важным для прикладных разработчиков. Остальное тоже важно, но не так как работа с EntityAgent . Приятного чтения!
-
Hibernate merge: начали за здравие, закончили за упокой
Я уже давно хотел на этот счет написать статью. Она короткая,но имхо она нужна. Давайте с места в карьер: merge в Hibernate это не универсальный save , и чаще всего он Вам не нужен . На самом деле, если абстрагироваться, то это специализированная операция для случая, когда у вас есть detached-сущность , и вы хотите перенести ее состояние в текущий Persistence Context. Проблема в том, что на практике merge очень часто используют для апдейта любой сущности ( Spring Data JPA иногда так делает ) и как следствие получают лишние SQL-запросы. Ниже разберем на мой взгляд главное - почему именно так происходит , где merge действительно нужен, а где он превращается в антипаттерн (P.S да почти везде).
-
PostgreSQL. ltree. JPA. Использование в микросервисах
В жизни разработчика периодически возникает задача каким-либо образом сохранить что-то древообразное. Это может быть оргструктура компании, каталог товаров, генеалогическое дерево и т.п.
-
JPA gehört zu den zentralen Bausteinen moderner Java-Anwendungen, sobald persistente Daten ins Spiel kommen. Statt SQL-Statements überall im Code zu verteilen, kapselt JPA den Zugriff auf relationale Datenbanken sauber und objektorientiert. Du arbeitest mit Java-Objekten, während sich das Framewo
https://magicmarcy.de/einstieg-in-jpa-datenbankzugriff-ohne-sql-chaos
#JPA #Java #Entity #Managed #Programming #Persistance #SQL #JPQL #EntityManager #Persistenz
-
Von #JPA zu #JakartaData – ein logischer nächster Schritt! @wernerwedge zeigt, wie standardisierte Repositories Entwickler von Framework-Lock-ins befreien & die Integration von #SQL- & #NoSQL-Systemen vereinfachen.
Lese #JAVAPRO & erfahre mehr: https://javapro.io/de/jakarta-data-und-nosql-standardisierte-datenzugriffe-fuer-jakarta-ee/
#JakartaEE -
Von #JPA zu #JakartaData – ein logischer nächster Schritt! @wernerwedge zeigt, wie standardisierte Repositories Entwickler von Framework-Lock-ins befreien & die Integration von #SQL- & #NoSQL-Systemen vereinfachen.
Lese #JAVAPRO & erfahre mehr: https://javapro.io/de/jakarta-data-und-nosql-standardisierte-datenzugriffe-fuer-jakarta-ee/
#JakartaEE -
#JPA skaliert – wenn man’s richtig macht. Julius Mischok zeigt, welche Patterns in Produktion versagen und welche Alternativen du früh im Design bedenken solltest.
Lerne, wie du JPA für echte Lasten optimierst: https://javapro.io/de/high-speed-jpa/
-
#JPA skaliert – wenn man’s richtig macht. Julius Mischok zeigt, welche Patterns in Produktion versagen und welche Alternativen du früh im Design bedenken solltest.
Lerne, wie du JPA für echte Lasten optimierst: https://javapro.io/de/high-speed-jpa/
-
Why should data persistence in 2026 still depend on the database? @wernerwedge analyzes how #JakartaData paves the way for standardized data access — whether Oracle, MongoDB, or Cassandra.
Read now: https://javapro.io/2026/03/03/jakarta-data-and-nosql-standardized-data-access-for-jakarta-ee/
-
Why should data persistence in 2026 still depend on the database? @wernerwedge analyzes how #JakartaData paves the way for standardized data access — whether Oracle, MongoDB, or Cassandra.
Read now: https://javapro.io/2026/03/03/jakarta-data-and-nosql-standardized-data-access-for-jakarta-ee/
-
Ever had a release where nothing “broke”—but the app suddenly got slower? @AdsChosen shows how to protect your codebase from creeping query regressions using expectations in tests.
Learn the exact annotations & workflow: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #Frameworks #JPA #Hibernate -
Ever had a release where nothing “broke”—but the app suddenly got slower? @AdsChosen shows how to protect your codebase from creeping query regressions using expectations in tests.
Learn the exact annotations & workflow: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #Frameworks #JPA #Hibernate -
The BalusC Code: OmniPersistence and OptimusFaces finally reach 1.0
#jakarta #java #jpa #jsf #omnifaces #primefaces
https://balusc.omnifaces.org/2026/03/omnipersistence-and-optimusfaces.html
-
The BalusC Code: OmniPersistence and OptimusFaces finally reach 1.0
#jakarta #java #jpa #jsf #omnifaces #primefaces
https://balusc.omnifaces.org/2026/03/omnipersistence-and-optimusfaces.html
-
When does #JPA abstraction help — and when does it hurt? Julius Mischok argues that high-speed JPA is possible if you stop trusting defaults and start designing for scale.
Full article: https://javapro.io/2025/12/31/high-speed-jpa/
-
When does #JPA abstraction help — and when does it hurt? Julius Mischok argues that high-speed JPA is possible if you stop trusting defaults and start designing for scale.
Full article: https://javapro.io/2025/12/31/high-speed-jpa/
-
Your tests can be green & your database can still be dying. @AdsChosen explains how to test query efficiency (N+1, joins, time thresholds) as part of your test suite.
Practical setup included: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #JPA #Hibernate #Database #SQL #TestingTools #SpringBoot -
Your tests can be green & your database can still be dying. @AdsChosen explains how to test query efficiency (N+1, joins, time thresholds) as part of your test suite.
Practical setup included: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #JPA #Hibernate #Database #SQL #TestingTools #SpringBoot -
Ever had a release where nothing “broke”—but the app suddenly got slower? @AdsChosen shows how to protect your codebase from creeping query regressions using expectations in tests.
Learn the exact annotations & workflow: https://javapro.io/2026/01/29/houston-we-have-problems-with-the-queries/
#Java #Frameworks #JPA #Hibernate -
How to Avoid Common Pitfalls With JPA and Kotlin
#jakarta #java #jetbrains #jpa #kotlin #persistence
https://blog.jetbrains.com/idea/2026/01/how-to-avoid-common-pitfalls-with-jpa-and-kotlin/
-
Today marks the 18th anniversary of the first commit of what should eventually become Spring Data JPA. What a ride! 🥳🍃🛢️ https://github.com/synyx/hades/commit/fca7af83e57188097310e50a30670360853b57ff #SpringData #JPA #Synyx
-
A single #Java stream can trigger hundreds of SQL queries. Sounds unlikely? It happens every day with #JPA defaults. Julius Mischok explains how lazy & eager loading quietly destroy performance — and how to take back control.
-
Still wondering when to use #JDBC #JPA, or just plain #SQL? @FranckPachot gives devs a map: when to abstract, when to go low-level, & when to leave SQL behind. No more guesswork. Just better architecture.
Read #JAVAPRO: https://javapro.io/2025/06/19/java-and-databases-from-sql-to-jpa-and-nosql/
@Hibernate #SpringData #ORM #NoSQL
-
@Marcel Die Link zur Videokonferenz wird https://meet.ffmuc.net/JPRImpulsvortragMarcelRoth lauten. :)
#JugendpresseRheinland #JPR #Journalismus #Jugendmedienarbeit #NRW #KinderUndJugendarbeit #Jugendmedienarbeit #JugendpresseAusweis #JPA #JPRImpulsvortrag
FAQ #FediLZ #EduDE #Medienarbeit -
Wir freuen uns in der 2. Sommerferienwoche Jonas Bickelmann von @mobilsicher zum Impulsvortrag & FAQ bei uns begrüßen zu dürfen! 😊
🗓️ 17. Juli 2024, 16:30
👥 Menschen zwischen 12 bzw. 14 und 27 Jahren & 27+ Jahre
📍Online über Jitsi-MeetAnmelden geht über folgenden Link: https://ahoi.jugendpresse.nrw/veranstaltung/13-07/2024---Impulsvortrag-&-FAQ-mit-Jonas-Bickelmann-von-mobilsicher.de
(LS)
#JugendpresseRheinland #JPR #Journalismus #Jugendmedienarbeit #NRW #KinderUndJugendarbeit #Jugendmedienarbeit #JugendpresseAusweis #JPA #JPRImpulsvortrag
FAQ #FediLZ #EduDE #Medienarbeit -
Im Juli begrüßen wir @Marcel vom Mitteldeutschen Rundfunk (MDR) mit einem Impulsvortrag und & FAQ bei uns! 😊
🗓️ 10. Juli 2024, 19:00
👥 Menschen zwischen 12 bzw. 14 und 27 Jahren, 27 Jahre +
📍Online über Jitsi-MeetAnmelden geht über folgenden Link: https://ahoi.jugendpresse.nrw/veranstaltung/21-07/2024---Inpulsvortrag-&-FAQ-von-Marcel-Roth-(MDR)
(LS)
#JugendpresseRheinland #JPR #Journalismus #Jugendmedienarbeit #NRW #KinderUndJugendarbeit #Jugendmedienarbeit #JugendpresseAusweis #JPA #JPRImpulsvortrag
#FAQ #FediLZ #EduDE #Medienarbeit