Что такое Celesta?
Celesta — инструмент для Java backend-разработчиков, ищущих более быстрые и простые способы разработки приложений на основе реляционных баз данных.
Это Java-библиотека и Maven-плагин, предоставляющие возможности миграций базы данных, ORM и тестирования.
В отличие от, например, Hibernate + Liquibase, Celesta не отделяет задачи дизайна схемы базы данных и миграций схемы, и предоставляет быстрый и легковесный способ юнит-тестирования кода, работающего с базой данных.
Может быть использована путём подключения внешней зависимости через Maven Central, также имеет собственный Spring Boot starter.

1. Основные возможности
-
Независимость от типа базы данных. Решение, сделанное в Celesta, может переноситься между любыми базами данных поддерживаемых типов с сохранением функциональности. Мы по возможности прозрачно для разработчиков решений поддерживаем следующие типы СУБД (список не окончательный):
-
MS SQL Server,
-
Oracle,
-
Postgre SQL,
-
H2,
-
Firebird (beta).
-
-
Database-first проектирование структуры данных. В Celesta проектируются таблицы, связи между ними и представления, а не классы.
-
Автоматическая миграция структуры базы данных на основе идемпотентного DDL.
-
Упрощённое модульное тестирование: быстрые тесты классов, работающих с базой данных, на основе in-memory режима базы данных H2.
-
Автоматически генерируемый на основе структуры БД промежуточный слой доступа к таблицам для написания бизнес-логики.
-
Взаимодействие приложения с уже сложившейся базой данных (интеграция приложений через базу данных).
-
Распределение прав доступа к таблицам.
-
Аудит изменений, производимых в таблицах.