简体   繁体   中英

IntelliJ IDEA persistence support for Spring Boot project

I try to create a Spring Boot 2 project with JPA to access a MySQL database using Hibernate. I have created a Gradle project on http://start.spring.io/ with JPA and MySQL dependency and imported into IntelliJ IDEA 2017.1 Ultimate

By default the persistence tool window is not present. I have searched for solution and found many different answer and know I'm a bit confused how should I configure my project. What is the correct way to do it?

  1. What framework support should I add to my project?

    • Spring Data JPA
    • Hibernate
    • JPA
  2. How should I add them?

    • Right click on my module and "Add Framework Support" (I can select Spring Data JPA and Hibernate here)
    • Project Structure -> Facets -> Add (I can select Hibernate and JPA here)
  3. If my project name is db and I have the db_main and db_test modules then to which one should I attach the Facet?

    • db
    • db_main

At the moment I added JPA Facet with Hibernate provider and added the persistence.xml. So I have the Persistence window.

However if I try to generate entities I select the datasource, the tables, the package but nothing happens. I mean no error message just the window closes as if it would be succeeded but there is no changes in the xml and no entity was generated.

After trying a lot of solutions found on the web here is what worked for me. I hope this helps someone.

I use IntelliJ IDEA 2017.1 Ultimate

Step 1.

I have created a Spring Boot (2.0.0 M5) project using Gradle with the built in wizard and select Web , JPA and MySQL dependencies. 在此处输入图片说明

This gives you a very simple project structure but the Persistence tool is not available: 在此处输入图片说明

Step 2.

Add JPA to Facets in Project Structure window to the main module and set Default JPA Provider to Hibernate .

Note that no descriptor was added.

在此处输入图片说明

As result the Persistence tool window is now available and it automatically contains Entities as Persistence Unit.

在此处输入图片说明

Step 3.

In the Database Tool window , add new DataSource to your project and also set datasource properties in the application.properties file.

在此处输入图片说明

Step 4.

In the Persistence tool window right click on Entities and select Generate Persistence Mapping and By Database Schema

在此处输入图片说明

Now you can select for which tables you want to generate an entity:

在此处输入图片说明

IDEA will generate the entity classes for you.

在此处输入图片说明

Step 5.

At this point if you open the JPA console and write your HQL or JPL query it will fail. You need to rebuild your project before using the console.

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM