IntelliJ IDEA持久性支持Spring Boot项目

Vmx*_*xes 9 java spring hibernate jpa intellij-idea

我尝试使用JPA创建一个Spring Boot 2项目,以使用Hibernate访问MySQL数据库.我已经在http://start.spring.io/上创建了一个Gradle项目,它具有JPA和MySQL依赖性并导入IntelliJ IDEA 2017.1 Ultimate

默认情况下,不存在持久性工具窗口.我已经搜索了解决方案并找到了许多不同的答案,并且知道我有点困惑如何配置我的项目.这样做的正确方法是什么?

  1. 我应该在项目中添加哪些框架支持?

    • Spring Data JPA
    • 过冬
    • JPA
  2. 我该如何添加它们?

    • 右键单击我的模块和"添加框架支持"(我可以在这里选择Spring Data JPA和Hibernate)
    • 项目结构 - > Facets - > Add(我可以在这里选择Hibernate和JPA)
  3. 如果我的项目名称是db并且我有db_main和db_test模块,那么我应该将Facet附加到哪个模块?

    • D b
    • db_main

目前我添加了JPA Facet和Hibernate提供程序,并添加了persistence.xml.所以我有Persistence窗口.

但是,如果我尝试生成实体,我选择数据源,表,包但没有任何反应.我的意思是没有错误消息只是窗口关闭就好像它会成功但是xml没有变化并且没有生成实体.

Vmx*_*xes 23

在网上找到很多解决方案后,这对我有用.我希望这可以帮助别人.

我使用IntelliJ IDEA 2017.1 Ultimate

步骤1.

我使用Gradle创建了一个Spring Boot(2.0.0 M5)项目,内置向导并选择Web,JPAMySQL依赖项. 在此输入图像描述

这为您提供了一个非常简单的项目结构,但是Persistence工具不可用: 在此输入图像描述

第2步.

项目结构窗口中将JPA添加到主模块,并将Default JPA Provider设置为Hibernate.

请注意,未添加任何描述符.

在此输入图像描述

结果,持久性工具窗口现在可用,它自动包含实体作为持久性单元.

在此输入图像描述

第3步.

将新的DataSource添加到项目中,并在application.properties文件中设置数据源属性.

在此输入图像描述

第4步.

在Persistence工具窗口中,右键单击Entities,然后选择Generate Persistence MappingBy Database Schema

在此输入图像描述

现在,您可以选择要生成实体的表:

在此输入图像描述

IDEA将为您生成实体类.

在此输入图像描述

第5步.

此时,如果您打开JPA控制台并编写HQL或JPL查询,它将失败.您需要在使用控制台之前重建项目.

在此输入图像描述