From 24caa7f6e26f180e926d7aa64f33345d2630bd03 Mon Sep 17 00:00:00 2001 From: s-tajihi <2026_04_00508@it-college.co.jp> Date: Thu, 24 Sep 2026 16:09:42 +0900 Subject: [PATCH] =?UTF-8?q?[edit]=20=E3=82=AB=E3=83=86=E3=82=B4=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E5=90=8D=E3=83=BB=E3=82=B5=E3=83=96=E3=82=AB=E3=83=86?= =?UTF-8?q?=E3=82=B4=E3=83=AA=E3=83=BC=E5=90=8D=E8=A1=A8=E7=A4=BA=E3=81=AE?= =?UTF-8?q?=E7=B7=A8=E9=9B=86=E3=82=92=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/BookController.java | 5 ++ .../java/com/example/demo/entity/Book.java | 50 ++++++------------- .../com/example/demo/entity/BookCategory.java | 8 ++- .../example/demo/entity/BookSubcategory.java | 34 +++++++++++++ .../com/example/demo/entity/Employee.java | 8 +++ .../example/demo/entity/StorageLocation.java | 34 +++++++++++++ src/main/resources/templates/book.html | 9 ++-- 7 files changed, 109 insertions(+), 39 deletions(-) create mode 100644 src/main/java/com/example/demo/entity/BookSubcategory.java create mode 100644 src/main/java/com/example/demo/entity/StorageLocation.java diff --git a/src/main/java/com/example/demo/controller/BookController.java b/src/main/java/com/example/demo/controller/BookController.java index 595013f..dba3968 100644 --- a/src/main/java/com/example/demo/controller/BookController.java +++ b/src/main/java/com/example/demo/controller/BookController.java @@ -1,10 +1,13 @@ package com.example.demo.controller; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import com.example.demo.entity.Book; import com.example.demo.service.BookServiceImpl; @Controller @@ -15,6 +18,8 @@ public class BookController { @GetMapping("/book") public String book(Model model) { + List aaa = bookService.findAll(); + // DBから取得したデータをHTMLで扱えるようにする model.addAttribute("book",bookService.findAll()); return "book"; diff --git a/src/main/java/com/example/demo/entity/Book.java b/src/main/java/com/example/demo/entity/Book.java index 7ead3fe..06c6fe3 100644 --- a/src/main/java/com/example/demo/entity/Book.java +++ b/src/main/java/com/example/demo/entity/Book.java @@ -7,6 +7,8 @@ import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import lombok.Data; @@ -15,11 +17,11 @@ import lombok.Data; @Data @Table(name = "book") public class Book { - + //図書ID @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "book_Id", nullable = false) + @Column(name = "book_id", nullable = false) private int bookId; // 図書管理ID(BK-1など) @@ -46,29 +48,16 @@ public class Book { @Column(name = "publication_date", nullable = true) private Date publicationDate; - // サブカテゴリーID - @Column(name = "book_subcategory_id", nullable = false) - private Integer subcategoryId; + // サブカテゴリーID!! + @ManyToOne + @JoinColumn(name = "book_subcategory_id", nullable = false) + private BookSubcategory bookSubcategory; - // // カテゴリー名 - // @Column(name = "category_name", nullable = false) - // private String categoryName; - // - // // サブカテゴリー名 - // @Column(name = "subcategory_name", nullable = false) - // private String subcategoryName; + // 保管場所 + @ManyToOne + @JoinColumn(name = "location_id", nullable = false) + private StorageLocation storageLocation; - // 保管場所ID - @Column(name = "location_id", nullable = false) - private Integer locationId; - - // // 保管場所 - // @Column(name = "location_name", nullable = false) - // private String locationName; - - // // 貸出状態 - // @Column(name = "book_Id", nullable = false) - // private int bookStatus; // 本の状態 @Column(name = "condition_s", nullable = false) @@ -86,17 +75,10 @@ public class Book { @Column(name = "is_deleted", nullable = false) private Integer isDeleted; - // 寄贈者社員ID - @Column(name = "donor_id", nullable = true) - private String donorId; - - // // 寄贈者社員名 - // @Column(name = "donor_name", nullable = true) - // private String donorName; - - // //返却予定日 - // @Column(name = "return_date", nullable = false) - // private Date returnDate; + // 寄贈者社員ID?? + @ManyToOne + @JoinColumn(name = "donor_id", nullable = false) + private Employee employee; //備考 @Column(name = "description", nullable = true) diff --git a/src/main/java/com/example/demo/entity/BookCategory.java b/src/main/java/com/example/demo/entity/BookCategory.java index fd76c7f..de7633d 100644 --- a/src/main/java/com/example/demo/entity/BookCategory.java +++ b/src/main/java/com/example/demo/entity/BookCategory.java @@ -1,8 +1,12 @@ package com.example.demo.entity; +import java.util.ArrayList; +import java.util.List; + import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import lombok.Data; @@ -12,11 +16,13 @@ import lombok.Data; @Table(name="book_category") public class BookCategory { - @Id @Column(name = "book_category_id") private Integer bookCategoryId; @Column(name = "book_category_name") private String bookCategoryName; + + @OneToMany(mappedBy = "bookCategory") + private List BookSubcategories = new ArrayList<>(); } \ No newline at end of file diff --git a/src/main/java/com/example/demo/entity/BookSubcategory.java b/src/main/java/com/example/demo/entity/BookSubcategory.java new file mode 100644 index 0000000..63e1581 --- /dev/null +++ b/src/main/java/com/example/demo/entity/BookSubcategory.java @@ -0,0 +1,34 @@ +package com.example.demo.entity; + +import java.util.ArrayList; +import java.util.List; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; + +import lombok.Data; + +@Entity +@Data +@Table(name = "book_subcategory") +public class BookSubcategory { + @Id + @Column(name = "book_subcategory_id") + private Integer bookSubcategoryId; + + @ManyToOne + @JoinColumn(name = "book_category_id", nullable = false) + private BookCategory bookCategory; + + @Column(name = "book_subcategory_name") + private String bookSubcategoryName; + + @OneToMany(mappedBy = "bookSubcategory") + private List Books = new ArrayList<>(); + +} diff --git a/src/main/java/com/example/demo/entity/Employee.java b/src/main/java/com/example/demo/entity/Employee.java index 956dfa2..f5a3fda 100644 --- a/src/main/java/com/example/demo/entity/Employee.java +++ b/src/main/java/com/example/demo/entity/Employee.java @@ -1,10 +1,14 @@ package com.example.demo.entity; +import java.util.ArrayList; +import java.util.List; + import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import lombok.Data; @@ -26,4 +30,8 @@ public class Employee { //部署ID @Column(name = "department_id", nullable = false) private Integer departmentId; + + @OneToMany(mappedBy = "employee") + private List employees = new ArrayList<>(); + } diff --git a/src/main/java/com/example/demo/entity/StorageLocation.java b/src/main/java/com/example/demo/entity/StorageLocation.java new file mode 100644 index 0000000..b12c5a4 --- /dev/null +++ b/src/main/java/com/example/demo/entity/StorageLocation.java @@ -0,0 +1,34 @@ +package com.example.demo.entity; + +import java.util.ArrayList; +import java.util.List; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; + +import lombok.Data; + +@Entity // このクラスがDBのテーブルに対応することを表す +@Data +@Table(name = "storage_location") +public class StorageLocation { + //保管場所ID + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "location_id", nullable = false) + private int locationId; + + // 保管場所名 + @Column(name = "location_name", nullable = false) + private String locationName; + + @OneToMany(mappedBy = "storageLocation") + private List Location = new ArrayList<>(); + + +} diff --git a/src/main/resources/templates/book.html b/src/main/resources/templates/book.html index 277d6f5..7b4ee07 100644 --- a/src/main/resources/templates/book.html +++ b/src/main/resources/templates/book.html @@ -32,7 +32,7 @@ 登録日時 更新日時 寄贈者 - 寄贈者 + ?? 操作 @@ -46,13 +46,14 @@ - - + + + - +