Talk type: Partner’s talk

A Strategy for Working with jsonb, Arrays and PostgreSQL Complex Types for JPA

  • Talk in Russian
Presentation pdf

Critical aspects of an application architecture and development is the modelling of data storage in RDBMS.

In general case, our data are represented by entities with fields of basic types and have a flat structure. This talk will present approaches, templates, and patterns for usage of non-trivial PostgreSQL data types, which will help developers to optimize the readability/comparability of application and RDBMS data structures, extend application functionality and flexibility without using surplus libraries and services, application performance.

The main points of the talk are:

  • PostgreSQL non-trivial types mentioned in for the report: jsonb, array, enumerated, composite types, full text search (tsvector, tsquery).
  • Available functionality to work with PostgreSQL non-trivial types in JPA, Hibernate6 and JOOQ.
  • What does Hibernate not support to deal with non-trivial types and what we have as tools to implement them.
  • Criteria API: predicates and non-trivial types of PostgreSQL.
  • Customized dialect and SQM in Hibernate 6 as a way to work with non-trivial types for HQL and Criteria API.
  • Self-rendering SQM functions to the rescue of edge cases in HQL.