【问题标题】:IntelliJ IDEA persistence support for Spring Boot project对 Spring Boot 项目的 IntelliJ IDEA 持久性支持
【发布时间】:2018-04-04 03:50:07
【问题描述】:

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

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

  1. 我应该为我的项目添加什么框架支持?

    • Spring 数据 JPA
    • 休眠
    • JPA
  2. 我应该如何添加它们?

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

    • 分贝
    • db_main

目前我添加了带有 Hibernate 提供程序的 JPA Facet 并添加了 persistence.xml。所以我有持久性窗口。

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

【问题讨论】:

    标签: java spring hibernate jpa intellij-idea


    【解决方案1】:

    在尝试了很多在网上找到的解决方案之后,这对我有用。我希望这对某人有所帮助。

    我使用 IntelliJ IDEA 2017.1 Ultimate

    第 1 步。

    我使用 Gradle 和内置向导创建了一个 Spring Boot (2.0.0 M5) 项目,然后选择 Web、JPA 和 MySQL 依赖项。

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

    第 2 步。

    将 JPA 添加到主模块的 Project Structure 窗口中的 Facets 并将 Default JPA Provider 设置为 Hibernate .

    请注意,没有添加描述符。

    因此,Persistence tool 窗口现在可用,它自动包含 Entities 作为 Persistence Unit。

    第 3 步。

    在数据库工具窗口中,将新的数据源添加到您的项目中,并在 application.properties 文件中设置数据源属性。

    第 4 步。

    在 Persistence 工具窗口中,右键单击 Entities 并选择 Generate Persistence Mapping 和 By Database Schema

    现在您可以选择要为哪些表生成实体:

    IDEA 会为你生成实体类。

    第 5 步。

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

    【讨论】:

    • 在 Jetbrain 帮助中找不到此说明。谢谢
    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 2017-06-11
    • 2012-09-13
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多