spring boot 初心者です。
sprint boot, jpa を使用してh2DBからデータ取得時、DBに登録したデータではなく[エンティティクラス名@xxxxx]といった文字列(?)リストが出力されます。
http://localhost:8080/sample 接続時、コンソールにDBに登録されたデータを出力し、画面にもリストを表示したいのですが、
コンソールには以下のように出力され、
[com.example.sample.entitiy.Sample@6fb24107, com.example.sample.entitiy.Sample@5fb038d9, com.example.sample.entitiy.Sample@1b0a533e]
画面には以下のような空の(?)リストが表示されます。
[
{},
{},
{}
]
テーブルのレコード数を変更すると、表示されるリストの数も変わるので、DBと連携はできているのだとは思うのですが、データを取りだす時に問題があるのだと思います。。
初歩的な内容かも知れませんが、ご存じの方ございましたら、どうかご教授いただけないでしょうか?
コードは以下の通りです。
[sql]
sql
1--schema.sql 2DROP TABLE IF EXISTS VOCA; 3CREATE TABLE VOCA ( 4 ID INT NOT NULL PRIMARY KEY, 5 WORD VARCHAR(255) NOT NULL 6); 7--data.sql 8INSERT INTO VOCA(ID,WORD) VALUES (1,'Sales'); 9INSERT INTO VOCA(ID,WORD) VALUES (2,'Marketing'); 10INSERT INTO VOCA(ID,WORD) VALUES (3,'Development');
[entity]
java
1@Entity 2@Data 3@Table(name = "VOCA") 4public class Sample { 5 6 @Id 7 @Column(name = "ID") 8 private int id; 9 10 @Column(name = "WORD") 11 private String word; 12 13}
[repository]
java
1@Repository 2public interface SampleRepository extends JpaRepository<Sample,Integer>{ 3 4}
[service]
java
1@Service 2public class SampleService { 3 4 @Autowired 5 SampleRepository sampleRepository; 6 7 public List<Sample> getSample(){ 8 return sampleRepository.findAll(); 9 } 10}
[controller]
java
1@RestController 2public class SampleController { 3 4 @Autowired 5 SampleService sampleService; 6 7 @GetMapping("/sample") 8 public List<Sample> sample() { 9 System.out.println(sampleService.getSample()); 10 return sampleService.getSample(); 11 } 12}
よろしくお願いいたします。