JPA Buddy — новый инструмент для разработчиков

JPA Buddy — новый инструмент для разработчиков

Haulmont совместно с Baeldung выпускает новый инструмент для разработчиков — плагин для IntelliJ IDEA JPA Buddy. JPA Buddy поможет более эффективно работать над всеми проектами, где используется JPA и связанные с ним технологии: Hibernate, Spring Data JPA, Liquibase и т.п.

Почему появился плагин? В платформе Jmix (ex-CUBA Platform) есть конструктор сущностей, который позволяет быстро и легко разработать модель данных. Этот инструмент особенно популярен среди пользователей фреймворка — а их более 20 000. Нас часто спрашивали, можно ли использовать конструктор сущностей отдельно от самой платформы. Да, теперь можно — с JPA Buddy.

Работа над плагином заняла почти год. Сперва мы провели исследование и собрали юзкейсы по JPA и сопутствующим технологиям. Результат не удивил — среднестатистическое приложение сегодня написано на Spring Boot. Для ORM используется Hibernate, для манипулирования данными — Spring Data JPA, для управления миграцией базы данных — Liquibase или Flyway. Вдобавок к этому многие используют Lombok. На этом технологическом стеке мы и сконцентрировались.

При разработке JPA Buddy мы стремились:

  • Минимизировать написание шаблонного кода вручную — плагин сделает это быстрее.
  • Избавить пользователей от долгого чтения документации за счет интуитивно понятного интерфейса.
  • Сохранить свободу выбора — плагин должен не навязывать какой-то определенный стиль написания кода, а предлагать различные варианты.
  • Выявлять потенциальные проблемы и предлагать варианты исправления для самых распространенных как можно раньше, на этапе написания кода, а не исполнения.
  • Обеспечить data-centric представление проекта и удобную навигацию между связанными объектами.

В первом релизе JPA Buddy мы реализовали множество функций и покрыли практически все аспекты разработки модели данных. Плагин помогает генерировать код, находить и исправлять потенциальные баги, проводить рефакторинг и выполнять другие шаблонные операции. JPA Buddy не требует дополнительных зависимостей, поэтому его можно использовать не только при начале проектов с нуля, но и там, где разработка уже идет давно. Для тех, кто использует Liquibase, у нас хорошие новости — он поддерживается в первой версии. Для тех, кто использует Flyway, новости не настолько хорошие — он в списке планов с самым высоким приоритетом.

Помимо этого мы планируем добавить:

  • Hibernate-специфичные аннотации, например, @Where, @NaturalId, @Formula, аннотации для поиска и т. д.
  • Визуальный конструктор запросов.
  • Аудит с использованием Envers и Spring Data JPA.
  • Реверс-инжиниринг схемы базы данных.
  • Поддержку Kotlin.
  • Поддержку Micronaut и Quarkus.
  • Генерацию REST API и IU для CRUD операций.

В целом наши главные задачи сейчас — полировка существующей функциональности, а также добавление функций первой необходимости, которых в плагине пока нет. Поэтому будем рады вашим советам и пожеланиям. Устанавливайте JPA Buddy и пишите, какие у вас ощущения от использования (контактная форма, Twitter, чат в Discord).

На сайте JPA Buddy или в статье на Dzone можно подробнее узнать, что собой представляет плагин и как с ним работать.

Предыдущая статья Следующая статья

Может быть интересно: