Отображение таблицы order_details в Hibernate
Поскольку у связи есть собственное поле count, order_details лучше отобразить отдельной сущностью. При уникальной паре order_id/product_id используйте EmbeddedId и две связи с MapsId.
Читать ответПодготовка к интервью
81 вопрос по Hibernate с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Hibernate — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: hibernate, database, sql.
Каталог
Поскольку у связи есть собственное поле count, order_details лучше отобразить отдельной сущностью. При уникальной паре order_id/product_id используйте EmbeddedId и две связи с MapsId.
Читать ответСоздайте Customer и OrderEntity с отношением one-to-many/many-to-one. Заказы клиента загружайте LAZY, а для сценария «клиент с заказами» используйте отдельный fetch join или entity graph.
Читать ответSQL Hibernate можно увидеть через logger org.hibernate.SQL на DEBUG. В Hibernate 6/7 bind-параметры логирует org.hibernate.orm.jdbc.bind на TRACE; категории зависят от версии.
Читать ответjOOQ удобен, когда важен явный SQL и сложные запросы, а генерация кода по схеме даёт типизированный DSL. Hibernate ориентирован на модель сущностей и управление их persistence lifecycle.
Читать ответЕсли два потока в разных persistence contexts меняют одну строку без контроля версии, возможно потерянное обновление. @Version позволяет обнаружить конфликт, а pessimistic lock — сериализовать доступ.
Читать ответSpring — это комплексный фреймворк для создания корпоративных приложений на Java.
Читать ответМеханизм Dirty Checking в Hibernate отвечает за отслеживание изменений в объектах-сущностях, которые находятся в сессии (контексте персистентности).
Читать ответВ PostgreSQL типы JSON и JSONB оба хранят данные в формате JSON, но отличаются внутренним представлением:
Читать ответВ Hibernate методы get() и load() используются для извлечения объектов из базы данных, но имеют разные особенности:
Читать ответHibernate — это ORM (Object-Relational Mapping) фреймворк для Java, который упрощает работу с базой данных.
Читать ответВ Hibernate механизм ленивой загрузки (lazy loading) по умолчанию загружает связанные сущности только при первом обращении к ним, что экономит ресурсы.
Читать ответHibernate — это одна из реализаций спецификации JPA (Java Persistence API), но при этом Hibernate предоставляет дополнительные возможности, выходящие за рамки стандарта JPA.
Читать ответ