Рубрика «hibernate»

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

Что такое JOOQ?

Если очень коротко, то JOOQ это библиотека, которая позволяет писать SQL запросы java или kotlin кодом, например:

fun findById(id: Long): UsersRecord? = dslContext.fetchOne(USERS, USERS.ID.eq(id))

Это самый просто и базовый запрос в JOOQ, который достает пользователя по id. Но что такое USERSЧитать полностью »

YDB в мире Java: от нативного клиента до ORM’ов за 1 год - 1

Популярность баз данных и языков программирования определяется не только их собственными характеристиками, но и ассортиментом доступных для разработчиков библиотек и фреймворков.

Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Читать полностью »

Как работают с реляционными СУБД в Java-приложениях

Для взаимодействий Java-приложений с реляционной БД существует несколько способов:

  • Нативные запросы, с помощью JDBC, Spring JDBC Template и т. д.;

  • JPQL/HQL;

  • Criteria API;

  • Spring Data репозитории.

Читать полностью »

Перевели для вас статью Джейкоба Адамса о том, что происходит перед тем, как Linux уходит в сон. Дальше идёт текст оригинала.

Как Linux переходит в сон? Как ему потом удаётся восстановить первоначальное состояние? Пытаясь понять, где проходит граница между аппаратным и программным обеспечением, я с головой зарылся в глубины языка С.

Мое исследование разделено на несколько частей. В первой речь пойдёт о периоде от вызова режима гибернации до синхронизации всех файловых систем на диск.

Читать полностью »

Hibernate

В Linux поддержка гибернации оставляет желать лучшего. Проблем хватает. Я написал этот документ, чтобы рассмотреть одну из них.

Ошибка выделения памяти

Неважно, какой у вас размер swap. Гибернация может не сработать даже если на swap достаточно свободного места. Догадайтесь, почему??? ... Да — фрагментация. Похоже, система пытается выделить непрерывный участок в swap.

Так вот. Очень печально, правда? Уже 2025 год, а поддержка гибернации в Linux всё ещё оставляет желать лучшего. Я пишу этот документ, потому что действительно хочу, чтобы моя Linux-система была такой же надёжной, как современные Windows или MacOSX.

Читать полностью »

"Я всегда прав, на этот раз прав как никогда". Linus Torvalds

Стоит сразу сказать, что задача этой статьи не в том чтобы кого-то обидеть, а в том чтобы развенчать миф “нормально делай – нормально будет” в контексте Spring Data JPA. Неконтролируемый паровоз движется в случайном направлении. Можете считать это криком души, моим “хватит”!

Честный взгляд на Spring Data JPA - 1

@Entity это плохо

Читать полностью »

Привет! Недавно пытался изучить тему «оптимистические» и «пессимистические» блокировки, но на мое удивление ни в ру сегменте, ни в англ — хороших статей, которые дают полное представление об двух типах блокировок с применением Hibernate, — нет, поэтому я решил агрегировать всю информацию в одной короткой статье. Так как это моя первая статья, буду рад критике:) Итак, погнали.

P. S. Это статья не является полным гайдом, так как в первую очередь она нацелена на то, чтобы дать понятное описание двух решений одной проблемы, а если нужны примеры использования, то добро пожаловать в Google:)

Зачем нужны блокировки?

Читать полностью »

Миграция на новые версии фреймворков всегда сопровождается сложностями, особенно если в них произошли значительные изменения. В этой статье мы рассмотрим, с какими проблемами я столкнулся при переходе со Spring Boot 2.x.x на Spring Boot 3.3.1 и Hibernate 6.4+, а также предложим решения, которые могут помочь другим разработчикам избежать аналогичных трудностей при обновлении своих приложений.

Стоит отметить, что далеко не все проблемы при миграции монолитов можно решить с помощью инструментов автоматической миграции, таких как OpenRewriteЧитать полностью »

Java Digest #2 - 1

Всем привет! 👋 👋 👋

Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем новости, статьи, туториалы и другие интересные материалы из мира Java-разработки. Решили делиться этим не только с коллегами, но и со всем сообществом.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js