java - 我的 Java Spring Boot Maven REST API 不起作用

标签 java spring hibernate spring-boot spring-mvc

我开始使用 Java J2E,并且正在关注 this使用 Java、Spring Boot 和 Maven 开发 REST API 的教程。

我不明白以下错误,请有人向我解释一下吗?.... :/ 我的代码:https://github.com/AngierRomain/API-REST-Spring-Java-Maven

错误位于 ERROR.txt 文件中

预先感谢您的帮助!

最佳答案

我可以看到您已在 pom 中添加了依赖项:

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

您还创建了一个Repository 类。我假设您想使用 Postgres Db 来获取/存储博客详细信息。

运行此 Spring 应用程序时,出现此错误

org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

这是因为您正在尝试使用 data-Jpa(pom 依赖项)和 postgres(pom 中存在依赖项),但您尚未在 application.properties 中提供方言和连接详细信息。

将其添加到 application.properties

spring.datasource.url=jdbc:postgresql://localhost:5432/blog
spring.datasource.username= root
spring.datasource.password= root
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

现在,从实体管理器收到此错误:

java.lang.IllegalArgumentException: Not a managed type: class me.romain.Blog

在您的存储库类中,您的实体类已被指定为 Blog.java

public interface BlogRepository extends JpaRepository<Blog, Integer>

如果您看到您的 Blog 类,它是一个普通的 POJO 类。它不是 DTO。 DTO 负责与数据库交互。要使 POJO 成为实体类,您必须指定它。

您可以使用 javax.persistence 包的 EntityId 注释来完成此操作

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Blog {

    @Id
    private int id;
}

现在,您已经遵循了所有这些并且所有数据源连接详细信息都是正确的,我认为它应该适合您。

注意:您应该尝试在数据库中保存一些示例数据并从那里获取它以检查它是否真的有效。

<小时/>

如果您只想使用当前的代码, 删除 Repository 类,从 pom.xml 中删除 spring-boot-starter-data-jpa 依赖项。您应该能够运行您的应用程序。

关于java - 我的 Java Spring Boot Maven REST API 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58482307/

相关文章:

java - 部署 tomcat 时出现运行失败错误

Spring ApplicationListener在webapp上被触发了两次

java - import com.fasterxml.jackson.xml 无法解析

java - 如何在MVC项目中处理Spring Bean的继承

java - 具有来自两个表的数据的实体

java - 获取JTable的真实选定值

Java:有 map 功能吗?

java - 迁移到 Spring Security 4 时出现访问被拒绝页面

hibernate - 具有自定义用户详细信息的 Spring Security

java - 类似 Hibernate 的多对多集合查询