首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的不工作

我的不工作
EN

Stack Overflow用户
提问于 2019-10-21 08:16:28
回答 1查看 556关注 0票数 0

我从Java J2E开始,学习教程,用Java和Maven开发REST。

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

错误在ERROR.txt文件中

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-21 09:27:39

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

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

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

在运行这个spring应用程序时,得到这个错误

代码语言:javascript
复制
org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

这是因为您试图使用数据-Jpa( pom依赖项)和postgres (pom中存在依赖项),但是您还没有在application.properties中提供方言和连接细节。

将此添加到application.properties中

代码语言:javascript
复制
spring.datasource.url=jdbc:postgresql://localhost:5432/blog
spring.datasource.username= root
spring.datasource.password= root
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

现在,从实体管理器获取此错误:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Not a managed type: class me.romain.Blog

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

代码语言:javascript
复制
public interface BlogRepository extends JpaRepository<Blog, Integer>

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

您可以使用Entityjavax.persistence包的Id注释来完成这一任务。

代码语言:javascript
复制
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Blog {

    @Id
    private int id;
}

现在,您已经跟踪了所有这些,而且所有的数据源连接细节都是正确的,我认为它应该适用于您。

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

如果希望只使用当前代码,请删除Repository类,从pom中删除spring-boot-starter-data-jpa依赖项。你应该能运行你的应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58482307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档