亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring 數據 JDBC 無法創建存儲庫 Bean -

Spring 數據 JDBC 無法創建存儲庫 Bean -

瀟湘沐 2022-06-30 11:39:00
我剛剛開始探索 Spring Data JDBC。我有一個簡單的數據庫(postgres),其中包含我要查詢的問卷表:CREATE TABLE IF NOT EXISTS foster.questionnaires (    questionnaire_id SERIAL PRIMARY KEY,    version varchar(10),    name text,    title text,    description text,    status questionnaire_status_types);和 Java 類:(配置靈感來自這里)@SpringBootApplication(scanBasePackages= {"com.app.foster"})@EnableJdbcRepositories("com.app.foster.dal.repositories")public class FosterApplication extends JdbcConfiguration {    // Config    @Bean    NamedParameterJdbcOperations operations() {        return new NamedParameterJdbcTemplate(dataSource());    }    @Bean    PlatformTransactionManager transactionManager() {        return new DataSourceTransactionManager(dataSource());    }    @Value("${spring.datasource.url}")    private String url;    @Bean    @ConfigurationProperties("spring.datasource")    public HikariDataSource dataSource() {        //User name and password is fetched from some other data storage        HikariConfig hikariConfig = new HikariConfig();        hikariConfig.setJdbcUrl(url);        hikariConfig.setUsername("postgres"); //TODO: abstract these        hikariConfig.setPassword("password");        //The data source created here doesn't have connection timeout value        //set by me        return new HikariDataSource(hikariConfig);    }    @Bean    public ApplicationListener<?> loggingListener() {        return (ApplicationListener<ApplicationEvent>) event -> {            if (event instanceof RelationalEvent) {                System.out.println("Received an event: " + event);            }         };    }    public static void main(String[] args) {        SpringApplication.run(FosterApplication.class, args);    } }(實體)@Entity@Table(name="questionnaires")public class Questionnaire {  @Id  Long questionnaire_id;  String version;  String name;  String title;  String description;    }
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

通過一些實驗找到了修復:

事實證明我收到了錯誤

entity is marked @NonNull but is null

因為我試圖查詢的實體有一個 postgresql 枚舉類型列,我用 java 代碼中的枚舉表示(我猜因此實體沒有解析?)...將字段更改為 String 列解決了問題。也許這里的錯誤信息可以細化...


查看完整回答
反對 回復 2022-06-30
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

我想,你必須為你的實體實現默認構造函數。 https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9


查看完整回答
反對 回復 2022-06-30
  • 2 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號