【问题标题】:Unable to add Hibernate dependency无法添加休眠依赖
【发布时间】:2018-09-01 08:49:18
【问题描述】:

我正在尝试使用 Java 和 Spring Boot 创建一个新的 Maven 项目。为此,我使用了 Spring Initializr 和以下依赖项:Web、JPA、Mysql。 连同我想使用 Hibernate 的那些(我最初认为这将由 JPA 依赖项带来)。我的问题是我的 pom.xml 文件中没有任何 Hibernate 依赖项,当我尝试添加它时,没有创建配置文件(hibernate.cfg.xml)。

如何将 Hibernate 添加到这个项目中?

谢谢

【问题讨论】:

  • 一些 hibernate.cfg.xml 与 JPA API 完全无关。因此,如果您使用的是 JPA,则不会使用该文件 ...

标签: spring hibernate maven jpa


【解决方案1】:

要回答您的问题,您需要进一步了解 Spring Boot Started 是如何打包的。

在您的初始化项目的 POM 中,您将看到为 JPA 添加了以下内容,

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

这不是包含的物理 jar,这是其他库的集合,所有库都添加到另一个 POM 文件中。 (您可以滚动到源文件)

在 spring-boot-starter-data-jpa POM 中,您将看到 Hibernate 已作为依赖项添加。

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>5.2.17.Final</version>
</dependency>

因此,您已经将休眠依赖项添加到您的项目中。

其次,请看一下 https://www.callicoder.com/spring-boot-rest-api-tutorial-with-mysql-jpa-hibernate/

这是一个使用 Spring-Boot 的 JPA 并向您展示如何配置它的教程。

【讨论】:

  • 我最初认为我没有休眠,因为在我创建实体并尝试添加记录后,我得到了找不到表的错误。我如何告诉休眠创建和运行基于我的实体的创建脚本?
  • 你是否设置了hibernate的hbm2ddl.auto来创建?
  • 我应该把那个属性放在哪里?我没有 hibernate.cfg.xml 文件,如果我把它放在 application.properties 中也没关系。
  • 使用 Spring boot 你有一个 application.properties 你可以添加: spring.jpa.hibernate.ddl-auto=create 应该可以解决它。这是你添加的吗?
  • spring.jpa.hibernate.ddl-auto 有效。看来我之前输入的有误。非常感谢。
猜你喜欢
  • 2013-09-11
  • 1970-01-01
  • 2014-10-26
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多