

参考書「Spring Framework超入門」でPostgresにクイズを登録するコードを書いたのですが、エラーが発生しました。  
Javaバージョン：11  
PostgreSQL：12

バージョンは参考書通りに合わせているのですが、エラーになりました。

エラー文は

[code]

    Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
    
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcDialect' defined in class path resource 
    
    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.relational.core.dialect.Dialect]: Factory 
    
    Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to 
    
    Caused by: org.postgresql.util.PSQLException: FATAL:
    
[/code]

・登録コード  
QuizApplication.java

[code]

    package com.example.quiz;
    
    
    import java.util.Optional;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    import com.example.quiz.entry.Quiz;
    import com.example.quiz.repository.QuizRepository;
    
    @SpringBootApplication
    public class QuizApplication {
        /** 起動メソッド */
        public static void main(String[] args) {
            SpringApplication.run(QuizApplication.class, args)
            .getBean(QuizApplication.class).execute();
        }
        /** 注入 */
        @Autowired
        QuizRepository repository;
        /** 実行メソッド */
        private void execute() {
            //登録処理
            setup();
            //全件取得
            //showList();
            //１件取得
            //showOne();
            //更新処理
            //updateQuiz();
            //削除処理
            //deleteQuiz();
        }
        /** === クイズを２件登録します === */
        private void setup() {
            //エンティティ生成
            Quiz quiz1 = new Quiz(null, "「Spring」はフレームワークですか？", true, "登録太郎");
            //登録実行
            quiz1 = repository.save(quiz1);
            //登録確認
            System.out.println("登録したデータは、" + quiz1 + "です。");
            //エンティティ生成
            Quiz quiz2 = new Quiz(null, "「Spring MVC」はバッチ処理機能を提供しますか？", false, "登録太郎");
            //登録実行
            quiz2 = repository.save(quiz2);
            //登録確認
            System.out.println("登録したデータは、" + quiz2 + "です。");
        }
        
        /** === 前権取得 === */
        private void showList() {
            System.out.println("--- 前権取得開始 ----");
            // リポジトリを仕様して前権取得を実施、結果を取得
            Iterable<Quiz> quizzes = repository.findAll();
            for (Quiz quiz : quizzes) {
                System.out.println(quiz);
            }
            System.out.println("--- 全権取得完了 ---");
        }
        
        /** === １件取得 === */
        private void showOne() {
            System.out.println("--- 1件取得開始 ---");
            //リポジトリを使用して１件取得を実施、結果を取得(戻り値はOptional)
            Optional<Quiz> quizOpt = repository.findById(1);
            //値存在チェック
            if (quizOpt.isPresent()) {
                System.out.println(quizOpt.get());
            } else {
                System.out.println("該当する問題が存在しません・・・");
            }
            System.out.println("--- １件取得完了 ---");
        }
        
        /** === 更新処理 === */
        private void updateQuiz() {
            System.out.println("--- 更新処理開始 ---");
            //更新したいエンティティを生成する
            Quiz quiz1 = new Quiz(1, "「スプリング」はフレームワークですか？", true, "変更タロウ");
            //更新実行
            quiz1 = repository.save(quiz1);
            //更新確認
            System.out.println("更新したデータは、" + quiz1 + "です。");
            System.out.println("--- 更新処理完了 ---");
        }
        
        /** === 削除処理 === */
        private void deleteQuiz() {
            System.out.println("--- 削除処理開始 ---");
            // 削除実行
            repository.deleteById(2);
            System.out.println("--- 削除処理完了 ---");
        }
    }
    
[/code]

application.properties

[code]

    spring.datasource.driver-class-name=org.postgresql.Driver
    spring.datasource.url=jdbc:postgresql://localhost:5432/quizdb
    springdatasource.username=postgres
    spring.datasource.password=postgres
    
[/code]

これはバージョンの違いによるエラーでしょうか？


CC BY-SA 4.0
2023-05-01T08:33:33.147
94705
2023-05-02T10:39:07.530
58130
question
java postgresql spring-boot
JavaとPostgresに関するエラー


springdatasource.username  
↓  
spring.datasource.username  
へ修正したら実行されました。


CC BY-SA 4.0
2023-05-02T10:39:07.530
94719
2023-05-02T10:39:07.530
58130
94705
answer