Я вижу, вы добавили зависимость в свой pom:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Вы также создали класс Repository
. Я предполагаю, что вы хотите использовать Postgres Db для извлечения / хранения подробностей блога.
При запуске этого весеннего приложения появляется эта ошибка
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 классом сущности, вы должны указать его.
Вы можете сделать это, используя Entity
и Id
аннотацию javax.persistence
пакета
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Blog {
@Id
private int id;
}
Теперь, когда вы выполнили все это, и все детали подключения источника данных верныЯ думаю, это должно работать для вас.
Примечание. Вы должны попытаться сохранить некоторые примеры данных в БД и извлечь их оттуда, чтобы проверить, действительно ли они работают.
Если вы хотите, чтобы работал только ваш текущий код, удалите репозиторийкласс, удалите зависимость spring-boot-starter-data-jpa
от pom. И вы должны быть в состоянии запустить ваше приложение.