私はJava J2Eから始めて、このチュートリアルに従って、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を使用してブログの詳細を取得/保存することを想定しています。
この春のアプリケーションを実行すると、このエラーが発生します
org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
これは、data-Jpa(pom依存関係)とpostgres(依存関係はpomに存在)を使用しようとしているが、アプリケーションのプロパティで方言と接続の詳細を指定していないためです。
これを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;
}
これで、これをすべて実行し、データソース接続の詳細はすべて正しいので、うまくいくと思います。
注:サンプルデータをDBに保存してフェッチし、実際に機能するかどうかを確認してください。
現在のコードだけを機能させたい場合は、リポジトリクラスを削除し、spring-boot-starter-data-jpa
pomから依存関係を削除します。そして、アプリケーションを実行できるはずです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加