Installation Guide

What is JPA Buddy?

JPA Buddy is an IntelliJ IDEA plugin that helps developers work efficiently with Hibernate, EclipseLink, Spring Data JPA, Flyway, Liquibase, Lombok, MapStruct, and other related technologies in both Java and Kotlin.

The plugin is intended to:

  • Lower barrier to entry into development with JPA
  • Boost developer’s productivity
  • Make sure your code follows best practices

JPA Buddy delivers:

You can use JPA Buddy in any project with Spring Boot, Jakarta Enterprise Edition, Quarkus, Micronaut, or even without any framework.

Installation and Project Setup

JPA Buddy is compatible with both IntelliJ IDEA Community Edition and IntelliJ IDEA Ultimate Edition. It is available on the JetBrains marketplace, where it can be downloaded and installed.

To install JPA Buddy, open Preferences -> Plugins and search for JPA Buddy. Then, simply click on the installation button and you're good to go!

License Activation

The purchase process is entirely managed by JetBrains Marketplace, including payment processing, invoicing, and licensing. To get a license, please visit this page.

Trial Subscription

For new users who haven't tried JPA Buddy yet there is a 30-day trial period. You can see how to obtain it in the following video:

Purchase Process

For those who have already used the trial period and want to continue using JPA Buddy paid features, there are two types of subscriptions available: monthly and annual. To pay for a subscription, JetBrains Marketplace provides two possible options:

In the following video, we will show you how to buy a subscription via a credit card. All the steps to get and activate a subscription will remain the same if you decide to use PayPal.

The Difference Between an Individual and Company Licenses

The Personal license is available for individuals who purchase it with their own funds for their own use, it can be used for both personal and commercial projects. Personal licences are not intended to be purchased, refunded, or financed by companies.
The Company license is the standard licensing option for organizations and businesses. Licenses are purchased by the company and can be used by any single person within this organization. If an employee leaves the company, the license can be reassigned to another employee. However, this license can not be used by multiple employees simultaneously.

The following table should help with choosing the most appropriate licensing schema for you:

Individual License Company License
Who pays for the license? Developer with their own funds Company
Who manages? Developer Company. The license can be reassigned between individuals.
Can be used by more than one developer? No No
Can be used to develop commercial software? Yes Yes
Can be used for development in a company? Yes Yes
What if a developer leaves the company? The license leaves with them The license remains with the company and can be reassigned to another developer

Educational And Discounted Licenses

All JPA Buddy features remain free for academic use (teachers, students, classroom assistance) as well as training courses, coding schools and bootcamps. To get it, you need to confirm the special status of your JetBrains account. To do so, scroll through the Pricing page and follow the "Learn more..." link.

Since the status of your account is confirmed, a new "Discount available" field will appear. Choose your status in this field and enjoy the new subscription options:

Promos

We give away little gifts to our active community members.

Still not following us on Twitter? Subscribe, send us a private message and we will grant you one month for free!

Have more than 500 subscribers on Twitter and have shared our tweets 3-4 times this month? Let us know via the contact form on our website, because you definitely deserve the next month of free use!

Reported a severe bug? Shared great ideas that became a part of our roadmap? We will not leave you without a present!

Published an article about JPA Buddy or recorded a YouTube video? Rest assured that we'll express our gratitude!

Older (Free) Versions Support

Older versions will be available for free as it is shown in the table below:

JPA Buddy version IntelliJ IDEA compatible versions Premium features availability
2022.1.*-212 2021.2.* Free until October 1, 2022
2022.1.*-213 2021.3.* Free until October 1, 2022
2022.1.*-221 2022.1.* Free until October 1, 2022
2022.2.*-213 2021.3.* Free until January 1, 2023
2022.2.*-221 2022.1.* Requires subscription
All newer versions of JPA Buddy 2022.1+ Requires subscription

Dependencies

Since JPA Buddy supports Hibernate, EclipseLink, SpringData, MapStruct, Liquibase and Flyway, it scans the project dependencies and enables the corresponding features. If you have a multi-module project, JPA Buddy features will be enabled depending on the presence of the dependency within the module, rather than the entire project.

Framework/Lib Features
Hibernate - Create and edit entities, entity attributes, lifecycle callbacks, indexes and constraints in both Java and Kotlin.
- Assign JPA converters and Hibernate custom types.
- Apply Lombok annotations to entities.
- Generate proper equals, hashCode and toString.
EclipseLink
Spring Data JPA - Create repositories for entities.
- Generate queries using visual constructors.
- Extract JPQL from derived method queries.
- Pick which fields to return from queries and generate projections.
Hibernate Validator Add Hibernate Validator annotations to Entity and DTO attributes via JPA Designer and DTO generator wizard respectively.
Spring Boot Starter Validation
Hibernate Types Assign Hibernate Custom Types to attributes via a code inspection with a quick fix (Alt+Enter/⌥ ⏎).
Liquibase - Automatically generate Liquibase changelogs by comparing JPA model to target database, model to snapshot or DB to DB.
- Use visual designers for Liquibase changelogs
- Use coding assistance and autocomplete in Liquibase changelogs for table names, column names etc. JPA Buddy takes these values directly from your data model.
Flyway - Generate Flyway migrations by comparing JPA model to target database, model to snapshot or DB to DB.
- Scaffold INSERT, UPDATE and DELETE statements for your entities in SQL files.
MapStruct - Create MapStruct mappers to convert entities to DTOs and back.

After adding one of the dependencies to the project, do not forget to click on the "Load Maven/Gradle Changes" button in the upper right corner.

Verifying Installation

To make sure that the plugin is installed correctly, follow these steps:

  1. Open Plugin Settings IntelliJ IDEA window: clicks File -> Settings -> Plugins -> Installed. Make sure that JPA Buddy there is in this section and enabled.

  2. Open existing or create a new entity and click somewhere in it. You should find Editor Toolbar (1) and JPA Buddy tool window (2). Note that visual tools will appear only after JPA Buddy detects one of the dependencies described in the section above.

Installing a Specific Version of JPA Buddy

Every version of JPA Buddy supports a range of IntelliJ IDEA versions. For example, JPA Buddy 2023.1 works correctly with IntelliJ IDEA 2022.2, 2022.3 and 2023.1. But if you have to install JPA Buddy on the other version of IntelliJ IDEA, you can do the following:

  • In the opened window, click on the "Download" button.

  • Save .zip file to your PC.

  • Now you have two options:

    • Open File -> Settings -> Plugins page click on the settings icon next to the "installed" tab and choose "install plugin from disk". Find the downloaded .zip file, select it, and click "ok".

    • Simply drag and drop the .zip file to any IntelliJ IDEA window.
  • To apply changes, click on the "Restart IDE" button

Something went wrong? Contact us!

Bugs and errors are unavoidable in any software, development tools are no exception. JPA Buddy team is always ready to help you cope with any difficulties that arise. Check out Reporting Issues section where you can find Contact Us information and tips for Error Reporting.

Tags: JPA, Setup, Configuration, Getting Started, Quick Start