質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

2454閲覧

h2データベースにおいて、データファイルを使ってデータを永続化したい

asahiko123

総合スコア43

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/07/22 12:13

編集2021/07/24 02:17

前提・実現したいこと

h2データベースを使ってSpringBootのアプリケーションを作成しています。
データファイルを使ってデータを永続化したいと考えています。

発生している問題・エラーメッセージ

インメモリでデータを保存することはできたので、今度はデータファイルを使ってデータを永続化することを試みています。

しかし、application.ymlに設定を書き込んでもデータファイルを生成している様子がなく(アプリのロケーションディレクトリ直下を確認)、またアプリを落とした後もデータも保持できていません。なぜでしょうか?

こちらのサイトを参考にしました。
https://it-jog.com/java/springdatajpa/h2savefile

該当のソースコード

application.yml

spring: datasouse: url: jdbc:h2:file:./hogefiledb driverClassName: org.h2.Driver username: sa password: h2.console.enabled: true

build.gradle

plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' compile'org.springframework.boot:spring-boot-starter-security' compile'org.thymeleaf.extras:thymeleaf-extras-springsecurity5' } test { useJUnitPlatform() }

試したこと

他サイト等の情報も参照しましたが、うまくいきませんでした。
schema.sqlでcreate tableの後にif not existsを追加

補足情報(FW/ツールのバージョンなど)

SpringBootv2.5.0
Spring Tool Suits4.10.0.RELEASE
Java11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちら、datasourceのスペルミスで「datasource以下」が機能していないと思われます。以下でお試しください。

yml

1spring: 2 datasource: 3 url: jdbc:h2:file:./hogefiledb 4 driverClassName: org.h2.Driver 5 username: sa 6 password: 7 h2.console.enabled: true 8

投稿2021/07/24 10:47

KT001

総合スコア618

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asahiko123

2021/07/25 02:35

確かにスペルミスをしていたようです。 ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問