我尝试使用JPA创建一个Spring Boot 2项目,以使用Hibernate访问MySQL数据库。我在http://start.spring.io/上创建了一个Gradle项目,它具有JPA和MySQL依赖性,并导入到IntelliJ IDEA 2017.1 Ultimate
默认情况下,不存在持久性工具窗口。我已经搜索了解决方案并找到了许多不同的答案,并且知道我应该如何配置我的项目。这样做的正确方法是什么?
我应该在项目中添加哪些框架支持?
我应该如何添加它们?
如果我的项目名称是db并且我有db_main和db_test模块,那么我应该将哪个模块附加到Facet?
目前我将JPA Facet添加到Hibernate提供程序并添加了persistence.xml。所以我有Persistence窗口。
但是,如果我尝试生成实体,我选择数据源,表格,包但没有任何反应。我的意思是没有错误消息只是窗口关闭就好像它会成功但是xml没有变化而且没有生成实体。
答案 0 :(得分:15)
在尝试了网上找到的大量解决方案后,这对我有用。我希望这有助于某人。
我使用IntelliJ IDEA 2017.1 Ultimate
第1步。
我使用内置向导使用 Gradle 创建了 Spring Boot (2.0.0 M5)项目并选择 Web , JPA 和 MySQL 依赖项。
第2步。
将 JPA 添加到项目结构窗口中的Facets到主模块,并将默认JPA提供程序设置为 Hibernate 。
请注意,未添加任何描述符。
结果持久性工具窗口现在可用,它自动包含实体作为持久性单元。
第3步。
将新的DataSource添加到项目中,并在application.properties文件中设置数据源属性。
第4步。
在“持久性”工具窗口中右键单击实体,然后选择生成持久性映射和按数据库架构
现在,您可以选择要生成实体的表:
IDEA将为您生成实体类。
第5步。
此时如果您打开 JPA控制台并编写HQL或JPL查询,它将失败。您需要在使用控制台之前重建项目。