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

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

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

Java Persistance Acchitecture API (JPA) はJavaオブジェクト・クラスとリレーショナルデータベースとの間のデータへのアクセス、管理、維持を行う為のJava用のフレームワークです。

Java

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

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

Q&A

解決済

1回答

800閲覧

SpringBoot+MySql+JPA+Thymeleafを使ってテーブルの中身を一覧表示したい

Yoshi-Koyama

総合スコア23

Java Persistence API

Java Persistance Acchitecture API (JPA) はJavaオブジェクト・クラスとリレーショナルデータベースとの間のデータへのアクセス、管理、維持を行う為のJava用のフレームワークです。

Java

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

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

0グッド

0クリップ

投稿2019/04/11 16:39

編集2019/04/11 17:01

前提・実現したいこと

SpringBoot+MySql+JPA+Thymeleafを使ってテーブルの中身を一覧表示したい。

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

アプリ起動後、@RequestMapping(value="/pet", method = RequestMethod.GET)のリクエストを受け、一覧表示するも、テーブルのデータが表示されない。

確認したところ、
アプリを起動した時点で、テーブルの中身が消されている(テーブルの定義も変わっている)ことがわかりました。

原因がどこにあるのかわからず、助言をいただければ幸いです!

該当のソースコード

こちらにソースをあげています。

https://github.com/yoshituba/tabledemo

Entityクラス

java

1package com.demo.pet; 2 3import javax.persistence.*; 4import java.time.LocalDate; 5 6@Entity 7public class Pet { 8 @Id 9 @GeneratedValue(strategy=GenerationType.AUTO) 10 private Long id; 11 12 @Column(name="name") 13 private String name; 14 15 @Column(name="owner") 16 private String owner; 17 18 @Column(name="species") 19 private String species; 20 21 @Column(name="sex") 22 private String sex; 23 24 @Column(name="birth") 25 private LocalDate birth; 26 27 @Column(name="death") 28 private LocalDate death; 29 30 @Column(name="created_at") 31 private LocalDate createdAt; 32 33 public Pet(String name, String owner, String species, String sex, LocalDate birth, LocalDate death) { 34 this.name = name; 35 this.owner = owner; 36 this.species = species; 37 this.sex = sex; 38 this.birth = birth; 39 this.death = death; 40 } 41 42 public String getName() { 43 return name; 44 } 45 46 public void setName(String name) { 47 this.name = name; 48 } 49 50 public String getOwner() { 51 return owner; 52 } 53 54 public void setOwner(String owner) { 55 this.owner = owner; 56 } 57 58 public String getSpecies() { 59 return species; 60 } 61 62 public void setSpecies(String species) { 63 this.species = species; 64 } 65 66 public String getSex() { 67 return sex; 68 } 69 70 public void setSex(String sex) { 71 this.sex = sex; 72 } 73 74 public LocalDate getBirth() { 75 return birth; 76 } 77 78 public void setBirth(LocalDate birth) { 79 this.birth = birth; 80 } 81 82 public LocalDate getDeath() { 83 return death; 84 } 85 86 public void setDeath(LocalDate death) { 87 this.death = death; 88 } 89} 90

試したこと

・Petクラスのフィールドに@Columnアノテーションを付与
・Pet(Entity)クラスを生成するときにテーブルを作成していると予想。
→ではもともと入っているデータは必ず消えてしまう?!
・application.propertiesのspring.jpa.hibernate.ddl-autoが怪しい?

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

Spring Boot 2.1.4

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

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

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

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

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

guest

回答1

0

ベストアンサー

application.propertiesにて、spring.jpa.hibernate.ddl-auto=createのように、起動時にデータを削除するよう設定しているからではないでしょうか?

以下に設定値の解説があります。
https://qiita.com/KenjiOtsuka/items/8450c407ba121fea8151

投稿2019/04/12 00:39

takyafumin

総合スコア2335

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

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

退会済みユーザー

退会済みユーザー

2019/04/12 12:40

怪しいと思って試さない人に回答は本人のためでない気がする。
takyafumin

2019/04/12 12:42

おっしゃる通りですね。 質問で設定内容を調べてみるよう誘導する方が有益だったかもしれません。
Yoshi-Koyama

2019/04/12 14:21

お二人ともお優しい・・・ コメント、ありがとうございます! 怪しいと思いつつ体力の限界で寝てしまいました・・・。 ご指摘いただいたコメントを確認し無事解決いたしました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問