Installation Guide

What is JPA Buddy?

JPA Buddy is a plugin for IntelliJ IDEA that makes working with JPA and related technologies easier. It provides development tools for Hibernate, EclipseLink, Spring Data JPA, Liquibase, Flyway, SQL, and similar things.

JPA Buddy makes the development process easier by:

  • introducing rich code generation capabilities

  • integrating smart inspections

  • providing better navigation via a data-centric view of the project

  • offering comprehensive coding assistance capabilities

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.

You can install JPA Buddy for running IntelliJ IDEA. Open Preferences -> Plugins and search for JPA Buddy, then simply push the install button, and there you 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:

  • Pay via Credit Card
  • Pay via PayPal

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 an option for private individuals who purchase a license with their own funds and solely for their own use. This license can be used for both individual and commercial projects. Personal licenses are not to be purchased, refunded or in any way 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. So if anyone quits the job, the company can assign this license to another employee. More than one employee should not use the same license simultaneously.

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

Personal 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 a company? The license leaves with them The license stays within company and can be assigned to another developer

Educational And Discounted Licenses

All features of JPA Buddy 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 are going to give away little gifts to our active community members.

Still don't follow us on Twitter? Subscribe, send a private message to us and we will grant you one month free!

Has more than 500 subscribers on Twitter and share our tweets 3-4 times per 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 become a part of our roadmap? We will not leave you without a present!

Published an article about JPA Buddy or recorded a YouTube video? Be sure, our big thank is going to find you!

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.

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 attributes via the JPA Inspector panel.
SpringBoot Starter Validation
Hibernate Types Assign Hibernate Custom Types to attributes via a code inspection with a quick fix.
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 Changes" button in the upper right corner.

Verifying Installation

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

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

  • Open existing or create a new entity and click somewhere in it. You should find three additional tool windows: JPA Structure, JPA Palette, and JPA Inspector. 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 4.3 works correctly with IntelliJ IDEA from 2021.1 to 2021.1.3. But if you have to install JPA Buddy on the other version of IntelliJ IDEA, you can do the following:

  • Open JPA Buddy JetBrains Marketplace page.
  • Open Versions tab.
  • Find a version of JPA Buddy which satisfies the version of your IntelliJ IDEA and click on it.

  • 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 disc”. 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.