# Hibernate

Published articles for Hibernate.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Meet Jos Roseboom

DevFeed: [Meet Jos Roseboom](<https://devfeed.tech/articles/meet-jos-roseboom-21985.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/meet-jos-roseboom/>)

Author: vladmihalcea

Published: 2026-09-11T04:23:25Z

Content type: article

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [interview](<https://devfeed.tech/tags/interview.md>), [jakarta-ee](<https://devfeed.tech/tags/jakarta-ee.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-tuning](<https://devfeed.tech/tags/performance-tuning.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

An interview with Jos Roseboom about JPA and Hibernate performance tuning, based on his JavaZone talk. He describes production incidents involving exhausted database connections and excessive queries caused by fetching entities and following associations.

### Source excerpt

JavaZone 2026 At the beginning of September, I participated in JavaZone for the third time and had the privilege of meeting a lot of passionate software developers willing to share their knowledge with the community. In the first conference day, I attended a very good talk about JPA performance tuning that was delivered by Jos Roseboom and since I enjoyed his talk, I proposed him to gave an interview for this blog. Therefore, in this article we have the pleasure of getting to know Jos and take opportunity of learning about Spring... Read More The post Meet Jos Roseboom appeared first on Vlad Mihalcea.

## How to Set Up Hibernation on Linux (Swap Done Right)

DevFeed: [How to Set Up Hibernation on Linux (Swap Done Right)](<https://devfeed.tech/articles/how-to-set-up-hibernation-on-linux-swap-done-right-20881.md>)

Original publisher: [Read original article](<https://linuxblog.io/set-up-hibernation-linux-swap/>)

Author: Hayden James

Published: 2026-08-24T15:11:25Z

Content type: tutorial

Language: en

Sources: [Hayden James](<https://devfeed.tech/sources/hayden-james.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [xfce](<https://devfeed.tech/topics/xfce.md>)

Tags: [archlinux](<https://devfeed.tech/tags/archlinux.md>), [blog](<https://devfeed.tech/tags/blog.md>), [debian](<https://devfeed.tech/tags/debian.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [distro](<https://devfeed.tech/tags/distro.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory](<https://devfeed.tech/tags/memory.md>), [partition](<https://devfeed.tech/tags/partition.md>), [rhel](<https://devfeed.tech/tags/rhel.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

A practical Linux hibernation guide explains how to use separate swap spaces for everyday paging and hibernation. It addresses a problem where a swap partition becomes too full to hold the compressed hibernation image.

### Source excerpt

I recently reinstalled my main desktop from scratch: Debian testing via Kali underneath (read first before judging) and XFCE on top. One of the reasons I keep coming back to XFCE is its built-in power management. Continue reading...

## How ORM N+1 Queries Create Hidden Request Latency

DevFeed: [How ORM N+1 Queries Create Hidden Request Latency](<https://devfeed.tech/articles/your-orm-issued-400-queries-and-the-p99-looked-fine-until-it-didn-t-39588.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/36-orm-n-plus-one-queries-hidden-latency/>)

Author: hello@ankit-rana.com

Published: 2026-08-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [lazy loading](<https://devfeed.tech/topics/lazy-loading.md>), [Database](<https://devfeed.tech/topics/database.md>), [connection pool](<https://devfeed.tech/topics/connection-pool.md>)

Tags: [connection-pool](<https://devfeed.tech/tags/connection-pool.md>), [database](<https://devfeed.tech/tags/database.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [latency](<https://devfeed.tech/tags/latency.md>), [lazy-loading](<https://devfeed.tech/tags/lazy-loading.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [n-plus-one](<https://devfeed.tech/tags/n-plus-one.md>), [observability](<https://devfeed.tech/tags/observability.md>), [orm](<https://devfeed.tech/tags/orm.md>), [query](<https://devfeed.tech/tags/query.md>), [request](<https://devfeed.tech/tags/request.md>)

### AI overview

This article explains how ORM lazy loading can turn a loop over orders into an N+1 query pattern. Individual queries may remain fast and avoid slow-query alerts, while the accumulated network round trips increase request latency and hold connection-pool resources. It recommends monitoring queries per request and asserting query counts in tests.

### Source excerpt

N+1 queries hide from monitoring because no individual query is slow. Four hundred queries at 0.4ms each never appear in the slow query log, never move p99 query latency, and still cost the request 300ms because the expense is the round trip rather than the execution. The metric that catches it is queries per request, and the only durable fix is asserting on that count in tests, since the code that causes it looks like a field access rather than I/O.

## Database Locking Mechanisms

DevFeed: [Database Locking Mechanisms](<https://devfeed.tech/articles/database-locking-mechanisms-34675.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/database-locking-mechanisms>)

Author: Saurabh Dashora

Published: 2026-05-19T06:27:39Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [database](<https://devfeed.tech/tags/database.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [locking](<https://devfeed.tech/tags/locking.md>), [locks](<https://devfeed.tech/tags/locks.md>), [optimistic-locking](<https://devfeed.tech/tags/optimistic-locking.md>), [sql](<https://devfeed.tech/tags/sql.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This tutorial compares pessimistic and optimistic locking for maintaining data consistency in multi-user applications. Pessimistic locking acquires locks before updates, while optimistic locking detects conflicts at commit time using version numbers or timestamps. The article explains their trade-offs in concurrency, performance, deadlocks, and consistency, and outlines suitable use cases.

### Source excerpt

Pessimistic vs Optimistic

## How we standardized MariaDB in our Integration Server

DevFeed: [How we standardized MariaDB in our Integration Server](<https://devfeed.tech/articles/how-we-standardized-mariadb-in-our-integration-server-20462.md>)

Original publisher: [Read original article](<https://eng.wealthfront.com/2026/03/26/how-we-standardized-mariadb-in-our-integration-server/>)

Author: Eloy Gonzalez

Published: 2026-03-26T18:59:43Z

Content type: article

Language: en

Sources: [Wealthfront](<https://devfeed.tech/sources/wealthfront.md>)

Topics: [MariaDB](<https://devfeed.tech/topics/mariadb.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [careers](<https://devfeed.tech/tags/careers.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [locking](<https://devfeed.tech/tags/locking.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modularization](<https://devfeed.tech/tags/modularization.md>), [production](<https://devfeed.tech/tags/production.md>), [sql](<https://devfeed.tech/tags/sql.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [wealthfront-engineering](<https://devfeed.tech/tags/wealthfront-engineering.md>)

### AI overview

Wealthfront describes migrating its Integration Server from HSQLDB to MariaDB to improve parity with production. The article covers the migration strategy, architectural hurdles, and benefits for data integrity, concurrency, locking, and production-like testing.

### Source excerpt

Engineering at Wealthfront is centered on the idea that code should be written to facilitate testing, not the other way around. Without a staging environment to fall back on, we maximize confidence through a sophisticated, multi-layered testing strategy. While unit tests provide our most rigorous line of defense, our Integration Server is the workhorse that... Read more

## How to emulate LEFT JOIN FETCH using Record-based projections

DevFeed: [How to emulate LEFT JOIN FETCH using Record-based projections](<https://devfeed.tech/articles/how-to-emulate-left-join-fetch-using-record-based-projections-21983.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/emulate-left-join-fetch-using-projections/>)

Author: vladmihalcea

Published: 2026-02-27T08:52:13Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Persistence](<https://devfeed.tech/topics/persistence.md>), [Java](<https://devfeed.tech/topics/java.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [fetch](<https://devfeed.tech/tags/fetch.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jakarta-ee](<https://devfeed.tech/tags/jakarta-ee.md>), [java](<https://devfeed.tech/tags/java.md>), [join-fetch](<https://devfeed.tech/tags/join-fetch.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [unrelated](<https://devfeed.tech/tags/unrelated.md>)

### AI overview

This tutorial explains how to emulate a LEFT JOIN FETCH between two root entities without fetching an intermediate child entity. It uses record-based projections and a JPQL query, and describes how the resulting entities remain managed in the persistence context and can produce updates during flush.

### Source excerpt

Introduction In this article, I'm going to show you how to emulate a LEFT JOIN FETCH between two root entities without fetching the intermediate child entity. I got the inspiration for this article by this comment thread on my blog. Domain Model Let's assume we have the following entities: The Post is the root entity of our hierarchy, but just like it's the case with the relational model, the root entity does not have any reference to its children: On the second level of our hierarchy we have the PostDetails: The PostDetails... Read More The post How to emulate LEFT JOIN FETCH using Record-based projections appeared first on Vlad Mihalcea.

## Keycloak 26.5.3 released

DevFeed: [Keycloak 26.5.3 released](<https://devfeed.tech/articles/keycloak-26-5-3-released-31755.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/02/keycloak-2653-released>)

Author: Keycloak Team

Published: 2026-02-10T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Security](<https://devfeed.tech/topics/security.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Mocha](<https://devfeed.tech/topics/mocha.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [YAML](<https://devfeed.tech/topics/yaml.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [ci](<https://devfeed.tech/tags/ci.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [idm](<https://devfeed.tech/tags/idm.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [migration](<https://devfeed.tech/tags/migration.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

Keycloak 26.5.3 is a February 10, 2026 release that includes security fixes for JWT authorization grants, invitation JWTs, identity-provider ownership checks, and other resolved issues.

### Source excerpt

To download the release go to Keycloak downloads. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Security fixes #46144 CVE-2026-1609 Disabled users can still obtain tokens via JWT Authorization Grant #46145 CVE-2026-1529 Forged invitation JWT enables cross-organization self-registration #46146 CVE-2026-1486 Logic Bypass in JWT Authorization Grant Allows Authentication via Disabled Identity Providers #46147 CVE-2025-14778 Incorrect ownership checks in /uma-policy/ Enhancements #45892 Upgrade minikube for CI tests operator Bugs #44379 Node.js admin client does not refresh tokens admin/client-js #45459 k8s multiple restart (oomkilled) in v26.5.0-0 during startup because of RAM dist/quarkus #45662 Increase in startup memory consumption in post 26.5 versions dist/quarkus #45677 Hibernate Validator is enabled by default when not used dist/quarkus #45708 Unpexted value '' in mixed-cluster-compatibility-tests testsuite #45745 mixed-cluster-compatibility-tests fail due to incorrectly masked content in 26.5 branch ci #45755 Broken YAML indentation in operator rolling updates doc docs #45780 Remove fatal log messages from `ConsistentHash`

## The best way to replace the deprecated GenericGenerator

DevFeed: [The best way to replace the deprecated GenericGenerator](<https://devfeed.tech/articles/the-best-way-to-replace-the-deprecated-genericgenerator-21988.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/replace-deprecated-genericgenerator/>)

Author: vladmihalcea

Published: 2025-12-02T08:23:12Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Development](<https://devfeed.tech/topics/development.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Code](<https://devfeed.tech/topics/code.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [database-identifier](<https://devfeed.tech/tags/database-identifier.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [genericgenerator](<https://devfeed.tech/tags/genericgenerator.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [tsid](<https://devfeed.tech/tags/tsid.md>)

### AI overview

This tutorial explains how to replace the deprecated Hibernate @GenericGenerator annotation when upgrading an application to Hibernate 7. It covers custom entity identifier generators and sequence optimizers using the @IdGeneratorType meta-annotation.

### Source excerpt

Introduction In this article, I'm going to show you the best way to replace the deprecated @GenericGenerator when upgrading your application to Hibernate 7. Hibernate @GenericGenerator annotation The @GenericGenerator annotation has been available since Hibernate 3.5, as an alternative to the <generator> XML element from HBM mappings. As illustrated by the Hibernate 6.5 @GenericGenerator Javadoc, this annotation was deprecated in favor of the @IdGeneratorType meta-annotation, which we've been using before for the TSID identifier. Traditionally, there were two main use cases where you'd use the @GenericGenerator annotation: to provide a custom identifier... Read More The post The best way to replace the deprecated GenericGenerator appeared first on Vlad Mihalcea.

## The best way to clean up test data with Spring and Hibernate

DevFeed: [The best way to clean up test data with Spring and Hibernate](<https://devfeed.tech/articles/the-best-way-to-clean-up-test-data-with-spring-and-hibernate-21982.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/clean-up-test-data-spring/>)

Author: vladmihalcea

Published: 2025-11-11T08:05:24Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>)

Tags: [cleanup](<https://devfeed.tech/tags/cleanup.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [schema](<https://devfeed.tech/tags/schema.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [test-data](<https://devfeed.tech/tags/test-data.md>), [testing](<https://devfeed.tech/tags/testing.md>), [truncatemappedobjects](<https://devfeed.tech/tags/truncatemappedobjects.md>)

### AI overview

This tutorial examines how to clean up test data in Spring and Hibernate integration tests. It argues that relying on @DataJpaTest for automatic transaction rollback is not always appropriate and discusses limitations of its SQL logging, including its inability to show bind parameter values or indicate whether batching is used.

### Source excerpt

Introduction In this article, I'm going to show you the best way to clean up test data when using Spring and Hibernate. While it's very common to use the @DataJpaTest annotation when implementing integration tests, in this blog post, you will see why you are better off avoiding using this annotation. Why I don't use @DataJpaTest As explained by the manual, Spring Boot provides the @DataJpaTest annotation for Spring Data JPA integration testing. Once the @DataJpaTest annotation is added to an integration test, Spring Boot will make the following changes to the... Read More The post The best way to clean up test data with Spring and Hibernate appeared first on Vlad Mihalcea.

## How to map the Oracle TIMESTAMP WITH TIME ZONE with JPA

DevFeed: [How to map the Oracle TIMESTAMP WITH TIME ZONE with JPA](<https://devfeed.tech/articles/how-to-map-the-oracle-timestamp-with-time-zone-with-jpa-21987.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/oracle-timestamp-with-time-zone-jpa/>)

Author: vladmihalcea

Published: 2025-03-18T16:21:37Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>), [Java](<https://devfeed.tech/topics/java.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [offsetdatetime](<https://devfeed.tech/tags/offsetdatetime.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [sql](<https://devfeed.tech/tags/sql.md>), [timezone](<https://devfeed.tech/tags/timezone.md>), [types](<https://devfeed.tech/tags/types.md>), [zoneddatetime](<https://devfeed.tech/tags/zoneddatetime.md>)

### AI overview

A tutorial on mapping Oracle TIMESTAMP WITH TIME ZONE columns to Java date-time types using JPA and Hibernate. It explains how ZonedDateTime and OffsetDateTime correspond to the Oracle column type and how to preserve time zone region information when retrieving values.

### Source excerpt

Introduction In this article, I'm going to explain how to map the Oracle TIMESTAMP WITH TIME ZONE with JPA and Hibernate. While the DATE and TIMESTAMP column types are suitable for mapping the LocalDateTime, the TIMESTAMP WITH TIME ZONE column type allows us to map both the ZonedDateTime and OffsetDateTime. Oracle TIMESTAMP WITH TIME ZONE Traditionally, Oracle provided the DATE and TIMESTAMP column types to store timestamp values. The difference between the DATE and TIMESTAMP types is that the TIMESTAMP column type allows us to store fractional seconds while the DATE type... Read More The post How to map the Oracle TIMESTAMP WITH TIME ZONE with JPA appeared first on Vlad Mihalcea.

## Keycloak 22.0.0 released

DevFeed: [Keycloak 22.0.0 released](<https://devfeed.tech/articles/keycloak-22-0-0-released-31614.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2023/07/keycloak-2200-released>)

Author: Keycloak Team

Published: 2023-07-11T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [Java](<https://devfeed.tech/topics/java.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [idm](<https://devfeed.tech/tags/idm.md>), [jakarta-ee](<https://devfeed.tech/tags/jakarta-ee.md>), [java](<https://devfeed.tech/tags/java.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

Keycloak 22.0.0 removes Java 11 support, upgrades to Quarkus 3.x and Hibernate ORM 6.2, migrates from Java EE to Jakarta EE 10, and adds a KeyStore Vault implementation and KeyStore Config Source.

### Source excerpt

To download the release go to Keycloak downloads. Release notes Server Distribution Java 11 support removed Running the Keycloak server with Java 11 is no longer supported. Java 11 was deprecated in Keycloak 21 with the announced plan to be removed in Keycloak 22. Upgrade to Quarkus 3.x Keycloak upgraded to version 3.2.0.Final of the Quarkus Java framework. Quarkus 3.x continues the tradition of propelling Java development by moving fast and providing a cutting-edge user experience with the latest technologies. Transition from Java EE to Jakarta EE As part of upgrading to Quarkus 3.x Keycloak migrated its codebase from Java EE (Enterprise Edition) to its successor Jakarta EE, which brings various changes into Keycloak. We have upgraded all Jakarta EE specifications in order to support Jakarta EE 10. Context and dependency injection no longer enabled to JAX-RS Resources In order to provide a better runtime and leverage as much as possible the underlying stack, all injection points for contextual data using the javax.ws.rs.core.Context annotation were removed. The expected improvement in performance involves no longer creating proxies instances multiple times during the request lifecycle, and drastically reducing the amount of reflection code at runtime. Upgrade to Hibernate ORM 6 Keycloak now benefits from the upgrade to Hibernate ORM 6.2, which includes improved performance, better SQL, modern JDK support, and support for modern RDBMS features. Elytron credential store replacement The previous and now removed WildFly distribution provided a built-in vault provider that reads secrets from a keystore-backed Elytron credential store. As this is no longer available, we have added a new implementation of the Keycloak Vault SPI called Keycloak KeyStore Vault. As the name suggests, this implementation reads secrets from a Java keystore file. Such secrets can be then used within multiple places of the Administration Console. For further details, see our guide and the latest

## Keycloak 21.0.0 released

DevFeed: [Keycloak 21.0.0 released](<https://devfeed.tech/articles/keycloak-21-0-0-released-31602.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2023/02/keycloak-2100-released>)

Author: Keycloak Team

Published: 2023-02-23T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [saml](<https://devfeed.tech/topics/saml.md>), [Cordova](<https://devfeed.tech/topics/cordova.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [cordova](<https://devfeed.tech/tags/cordova.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [idm](<https://devfeed.tech/tags/idm.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [policies](<https://devfeed.tech/tags/policies.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Keycloak 21.0.0 is released with new features, enhancements, documentation updates, and resolved issues. Changes include Microsoft Authenticator support, multi-hosted-domain support for GoogleIdentityProvider, Cordova redirect URI configuration, SAML signature updates, and storage improvements.

### Source excerpt

To download the release go to Keycloak downloads. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues New features #11698 Add an option allowing to disable client registration access token rotation keycloak #15271 Add support for Microsoft Authenticator keycloak #16107 Short verification_uri for Device Authorization Request keycloak #16787 support multi hosted-domain in `GoogleIdentityProvider` keycloak #17037 Allow configuring of redirectUri for the cordova adapter keycloak adapter/javascript Enhancements #1738 Deprecate SHA1 based algorithms for SAML signatures keycloak-documentation #1743 Documentation of some options of SAML IDP is not up-to-date keycloak-documentation #8820 Official Support for Microsoft mobile authenticator app keycloak #8982 Blacklist false positive rate could be set a lot lower. keycloak #9008 Update client with registration access token gained by client registration keycloak authorization-services #9017 Pre-authorization hook for client policies keycloak #9144 Remove Hashicorp Support keycloak dist/quarkus #9388 Global lock interface keycloak storage #9420 Use bulk deletes in HotRod store keycloak storage #9699 Include list of possible option values in help messages. keycloak dist/quarkus #10018 JPA Map Storage: leverage function-based indexes (Postgresql) keycloak storage #10090 Remove workaround in HotRodUtils#paginateQuery keycloak storage #10376 Add MapKeycloakTransaction.exists(id) method keycloak storage #10988 Remove doubled field from HotRod entities keycloak storage #11744 Remove `session.area().getById(id)` from Map provider methods keycloak storage #12067 Investigate a way to update indexes in no-downtime way for HotRod store keycloak storage #12068 Leverage Infinispan lifespan for ExpirableEntities in HotRod storage keycloak storage #12950 Implement "advanced claim to group" mapping for SAML keycloak #13219 Followup: JPA Map store wants to use `hibernate.integrator_provider

## jOOQ's R2DBC LoggingConnection to log all SQL statements

DevFeed: [jOOQ's R2DBC LoggingConnection to log all SQL statements](<https://devfeed.tech/articles/jooq-s-r2dbc-loggingconnection-to-log-all-sql-statements-28954.md>)

Original publisher: [Read original article](<https://blog.jooq.org/jooqs-r2dbc-loggingconnection-to-log-all-sql-statements/>)

Author: lukaseder

Published: 2023-01-17T10:12:05Z

Content type: article

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [jdbctemplate](<https://devfeed.tech/tags/jdbctemplate.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [logging](<https://devfeed.tech/tags/logging.md>), [native](<https://devfeed.tech/tags/native.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The article introduces jOOQ's LoggingConnection for R2DBC clients, which logs reactive SQL queries. It notes that the utility is available in jOOQ versions 3.18.0, 3.17.7, and 3.16.13, and that standalone code is available on GitHub.

### Source excerpt

jOOQ already has a LoggingConnection (see also the manual), which acts as a JDBC proxy Connection to log all SQL statements that are executed by any JDBC client (including Hibernate, MyBatis, JdbcTemplate, native JDBC, etc.). Starting from jOOQ 3.18.0, 3.17.7, and 3.16.13, a LoggingConnection is now also available for R2DBC clients to log all reactive ... Continue reading jOOQ's R2DBC LoggingConnection to log all SQL statements ->

## Kotlin first impressions

DevFeed: [Kotlin first impressions](<https://devfeed.tech/articles/kotlin-first-impressions-27287.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201711/kotlin-first-impressions/>)

Published: 2017-11-29T00:00:00Z

Content type: opinion

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Development](<https://devfeed.tech/topics/development.md>), [Java](<https://devfeed.tech/topics/java.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>)

### AI overview

A developer shares first impressions from using Kotlin on an actively developed project. The article discusses Kotlin's default immutability, extension methods, interoperability with Java, integration with Spring and Hibernate, Gradle build scripts, named parameters, and compile-time null checks.

### Source excerpt

Recently while starting work on a project we've (team of two ;)) decided to try something new and use Kotlin. The project is far from ready and still under active development, but after writing some code in Kotlin I've got few observations I'd like to share. Read more

## Database migrations

DevFeed: [Database migrations](<https://devfeed.tech/articles/database-migrations-27283.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201710/databse-migrations/>)

Published: 2017-10-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Database Migration](<https://devfeed.tech/topics/database-migration.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [Java](<https://devfeed.tech/topics/java.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [java](<https://devfeed.tech/tags/java.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article shares practical guidance for evolving database schemas with migrations. It recommends starting new projects with Hibernate schema generation, then switching to validation and Flyway migrations once the schema is stable, while avoiding manual DDL changes and out-of-order migrations.

### Source excerpt

Most of the application we are working on are built around the data. Since the information is the core value of the application we store it in the persistent and reliable storage - database. Applications evolve in time so does the way we store the data. In this post, I'm going to present my experiences and thoughts on evolving database schema. Read more

## Using Spring Data @DomainEvents with JPA and Hibernate

DevFeed: [Using Spring Data @DomainEvents with JPA and Hibernate](<https://devfeed.tech/articles/poor-s-man-domain-events-27284.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201710/domain-events/>)

Published: 2017-10-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [jpa](<https://devfeed.tech/topics/jpa.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [spring](<https://devfeed.tech/tags/spring.md>)

### AI overview

This tutorial examines Spring Data's @DomainEvents and @AfterDomainEventPublication annotations, explains their repository-based event publishing behavior, and discusses why that behavior does not work automatically for commonly used JPA dirty checking. It then presents Hibernate interceptor-based event propagation as an approach for JPA entities.

### Source excerpt

While investigating @EventListeners in spring I've noticed very interesting annotation - @DomainEvents. In this post I'm going to check what can be achieved using @DomainEvents annotation and how to effectively use it with old good JPA. Let's start with short introduction to domain event idea if you are not yet familiar with it. Now let's go back to the @DomainEvents annotation in spring-data. Spring-data by default provides support for this annotation and it's complementary annotation @AfterDomainEventPublication. Read more

## Poor man's batch processing in JPA

DevFeed: [Poor man's batch processing in JPA](<https://devfeed.tech/articles/poor-man-s-batch-processing-in-jpa-27270.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201705/batch-processing/>)

Published: 2017-05-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [jpa](<https://devfeed.tech/topics/jpa.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [cache](<https://devfeed.tech/tags/cache.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This article explains batch processing with JPA, Hibernate, and Spring Data. It recommends regularly flushing and clearing the persistence context, controlling transaction size, choosing a deterministic data-fetching order, and considering purpose-built frameworks or libraries for the job.

### Source excerpt

Working with a lot of data using plain JPA or hibernate or spring-data is possible, it does work and usually, it doesn't require a lot of extra coding. Starting small is the fastest way of getting things done but you must be aware of few things that might shoot you in the foot. Read more

## Optimistic locking pitfalls

DevFeed: [Optimistic locking pitfalls](<https://devfeed.tech/articles/optimistic-locking-pitfalls-27269.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201704/optimistic-locking/>)

Published: 2017-04-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [.NET 11 Preview 7](<https://devfeed.tech/topics/net-11-preview-7.md>)

Tags: [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [locking](<https://devfeed.tech/tags/locking.md>), [optimistic-locking](<https://devfeed.tech/tags/optimistic-locking.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This article explains optimistic locking as a concurrency-control technique and examines how plain SQL and JPA/Hibernate version checks prevent one user from unintentionally overwriting another user's changes.

### Source excerpt

Optimistic locking is concurrency control method that allows to execute multiple transactions simultaneously as long as they don't interfere which each other. That's definition from wikipedia. You probably already know that Hibernate supports optimistic locking and all you have to do in order to implement optimistic locking in you app is to add @Version on number or timestamp field and you are good to go. Right? Read more

## Final fields

DevFeed: [Final fields](<https://devfeed.tech/articles/final-fields-27264.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201612/final-fields/>)

Published: 2016-12-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [Java](<https://devfeed.tech/topics/java.md>), [inlining](<https://devfeed.tech/topics/inlining.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [bytecode](<https://devfeed.tech/tags/bytecode.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [inlining](<https://devfeed.tech/tags/inlining.md>), [java](<https://devfeed.tech/tags/java.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This tutorial explains how private final fields can be modified through reflection, including how Hibernate uses the technique to hydrate final entity fields. It also demonstrates how Java compile-time constants and inlining can cause modified primitive final fields to behave unexpectedly, while object fields such as Long can reflect the changed value.

### Source excerpt

Private final field modification is possible and it doesn't require a lot of work. Since you should not use this mechanism in real life there are cases when it is useful. For example this how is Hibernate using this to hydrate final entity fields. But when using final fields with Hibernate you should be extra careful how you declare them. Read more

## Java repositories testing

DevFeed: [Java repositories testing](<https://devfeed.tech/articles/java-repositories-testing-27263.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201611/java-repository-testing/>)

Published: 2016-11-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Java](<https://devfeed.tech/topics/java.md>), [Hibernate](<https://devfeed.tech/topics/hibernate.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>)

Tags: [hibernate](<https://devfeed.tech/tags/hibernate.md>), [java](<https://devfeed.tech/tags/java.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [sql](<https://devfeed.tech/tags/sql.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

A tutorial on testing Java repository layers, motivated by a slow SQL query in a Hibernate-based application. It recommends detailed tests, production-like database setup, migration scripts, and running CI tests against the production database technology.

### Source excerpt

A few days ago I've stumbled upon SQL query performance issue. Git claims that I was the author so maybe that's the reason I remember this feature. There was like 3 classes, everything was super easy and super fast all I needed to do was to let Hibernate do its thing. Then time passed, new features were requested, the model becomes more complex, the number of rows increased to ~4 million and original query became too slow. When working on query optimization I was really happy to find that detailed tests are in place. With proper test setup I was able to test my new query to make sure all requirements are met and then quickly copy paste query to sqldeveloper run it on a test environment and verify if performance is acceptable. It wasn't simple query and it took me some time to figure out how to make it quick and work exactly as old one. That was the time I was really glad that we invested in detailed unit tests in the beginning. Read more

## Ubuntu 16.04 won't wake up from suspend

DevFeed: [Ubuntu 16.04 won't wake up from suspend](<https://devfeed.tech/articles/ubuntu-16-04-won-t-wake-up-from-suspend-21525.md>)

Original publisher: [Read original article](<http://lifepluslinux.blogspot.com/2016/04/ubuntu-1604-wont-wake-up-from-suspend.html>)

Author: Suresh Alse (noreply@blogger.com)

Published: 2016-04-26T16:57:00Z

Content type: tutorial

Language: en

Sources: [Life Plus Linux](<https://devfeed.tech/sources/life-plus-linux.md>)

Topics: [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>)

Tags: [battery](<https://devfeed.tech/tags/battery.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [lts](<https://devfeed.tech/tags/lts.md>), [thinkpad](<https://devfeed.tech/tags/thinkpad.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

A ThinkPad E550 running Ubuntu 16.04 LTS could not properly suspend, hibernate, or shut down, even with open-source drivers. The article attributes the issue to kernel 4.4 and reports that upgrading to kernel 4.5 resolved it.

### Source excerpt

I recently installed Ubuntu 16.04 LTS Xenial Xerus on my Thinkpad E550. I honestly regretted it not just because it doesn't support AMD proprietary fglrx driver aka AMD Catalyst or AMD Radeon Software but because the suspend feature stopped working. I initially thought that this had something to do with video drivers that I had installed on Ubuntu 15.10 which were now incompatible with 16.04. I realized that this was not the case as the issue persisted even on opensource drivers that it is compatible with. Also on a closer observation I realized that it was not that my system was not able to wake up from suspend, but that it was not able to suspend at all. On suspending, the screen would go off but my laptop kept running, heating up and draining battery. This problem existed when I hibernate or shutdown as well. Now the only possible reason for this is some problem in acpi which is not letting my system to suspend. Ubuntu 16.04 is shipped with kernel 4.4. A quick search on this issue on kernel 4.4 made me realize that this exists across several destros and mostly on thinkpads. So I upgraded to kernel 4.5 and the problem is resolved. Installing kernel 4.5 32 bit 64bit Then reboot!

## Générer le script DDL programmatiquement avec Hibernate 4.x

DevFeed: [Générer le script DDL programmatiquement avec Hibernate 4.x](<https://devfeed.tech/articles/generer-le-script-ddl-programmatiquement-avec-hibernate-4-x-26061.md>)

Original publisher: [Read original article](<https://blog.arkey.fr/2015/08/07/generer-le-script-ddl-programmatiquement-avec-hibernate-4-x/>)

Author: brice.dutheil@gmail.com (Brice Dutheil)

Published: 2015-08-07T15:26:51Z

Content type: tutorial

Language: fr

Sources: [The Coffee Workshop](<https://devfeed.tech/sources/the-coffee-workshop.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [reflections](<https://devfeed.tech/tags/reflections.md>), [scanner](<https://devfeed.tech/tags/scanner.md>), [sql](<https://devfeed.tech/tags/sql.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This tutorial presents programmatic generation of DDL scripts for applications using Hibernate 4.x with non-trivial configurations. It explains passing annotated classes and packages explicitly and using Reflections to scan JPA-annotated classes when hibernate4-maven-plugin is insufficient.

### Source excerpt

Si par hasard votre base donnée est gérée par un véritable DBA, donc avec des scripts SQL. Mais que vous utilisez hibernate pour mapper les tables avec une configuration non triviale, modules bien découpés, package annotés, etc.... Les utilitaires comme hibernate4-maven-plugin ne suffisent plus.

## The Ruby Sequel ORM on the Hibernate Connection Pool

DevFeed: [The Ruby Sequel ORM on the Hibernate Connection Pool](<https://devfeed.tech/articles/the-ruby-sequel-orm-on-the-hibernate-connection-pool-15914.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/the-ruby-sequel-orm-on-the-hibernate-connection-pool>)

Author: Square Engineering

Published: 2013-06-28T16:03:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Java](<https://devfeed.tech/topics/java.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [connection-pool](<https://devfeed.tech/tags/connection-pool.md>), [database](<https://devfeed.tech/tags/database.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [integration](<https://devfeed.tech/tags/integration.md>), [orm](<https://devfeed.tech/tags/orm.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This tutorial explains how to run Ruby's Sequel ORM on a Hibernate-managed connection pool, allowing Java and JRuby to share database connections. It describes the connection-pool proxy, JDBC adapters, and custom Sequel integration.

### Source excerpt

We will demonstrate how to unify access to your database by leveraging the same connection in Java and JRuby.