Spring Boot项目的IntelliJ IDEA持久性支持

时间:2017-10-23 14:35:55

标签: 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. 我应该如何添加它们?

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

    • 分贝
    • db_main
  4. 目前我将JPA Facet添加到Hibernate提供程序并添加了persistence.xml。所以我有Persistence窗口。

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

1 个答案:

答案 0 :(得分:15)

在尝试了网上找到的大量解决方案后,这对我有用。我希望这有助于某人。

我使用IntelliJ IDEA 2017.1 Ultimate

第1步。

我使用内置向导使用 Gradle 创建了 Spring Boot (2.0.0 M5)项目并选择 Web JPA MySQL 依赖项。 enter image description here

这为您提供了一个非常简单的项目结构,但持久性工具不可用: enter image description here

第2步。

JPA 添加到项目结构窗口中的Facets到主模块,并将默认JPA提供程序设置为 Hibernate

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

enter image description here

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

enter image description here

第3步。

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

enter image description here

第4步。

在“持久性”工具窗口中右键单击实体,然后选择生成持久性映射按数据库架构

enter image description here

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

enter image description here

IDEA将为您生成实体类。

enter image description here

第5步。

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

enter image description here