前提・実現したいこと
APIでテーブルに格納されているデータを取得したいです。
前提として、以下のようなテーブルにデータが入っているとします。
userテーブル
user_id | user_name | password | category_id |
---|---|---|---|
1 | test1 | **** | 1 |
2 | test2 | **** | 1 |
3 | test3 | **** | 2 |
categoryテーブル
id | category_name |
---|---|
1 | テスト1 |
2 | テスト2 |
また、この際に以下のSQLを最終的に叩きたいです。ユーザidとユーザ名、カテゴリの名前を画面に出したいため。
SQL
1select a.user_id, a.user_name, b.category_name 2from user a 3inner join category b 4on a.category_id = b.id
該当のソースコード
User.java
Java
1@Data 2@Entity 3@Table(name="user") 4public class User implements Serializable { 5 @Id 6 @Column(name="user_id") 7 private long userId 8 9 @Column(name="user_name") 10 private String userNm 11 12 @ManyoOne 13 private Category category 14}
Category.java
Java
1@Data 2@Entity 3@Table(name = "category") 4public class Category { 5 @Id 6 @Column 7 private Long id; 8 9 @Column 10 private String name; 11 12 @OneToMany(mappedBy = "category") 13 private List<User> users; 14}
Entityの作り方に関しては合っていますでしょうか?
補足情報(FW/ツールのバージョンなど)
Java8
Spring Boot 2.0.4