[英]How to display User and list of all Books that he rented - SpringBoot, JPA, MySql
I am trying to build a library rest api using Spring boot + Mysql + JPA.
我的數據庫看起來像這樣:
以下是實體、存儲庫和服務:
用戶.java
@Entity
public class User {
@Id
@GeneratedValue
private Integer userId;
private String name;
private String surname;
private String username;
private String email;
private String password;
*all getters and setters*
}
Book.java
@Entity
public class Book {
@Id
@GeneratedValue
private Integer bookId;
private String title;
private String ISBN;
private String author;
private String issuer;
private Integer dateOfIssue;
private Boolean IsRented;
*all getters and setters*
}
借.java
@Entity
public class Borrow {
@Id
@GeneratedValue
private Integer id;
private Date takenDate;
private Date broughtDate;
@ManyToOne
@JoinColumn(name="book_id")
private Book book;
@ManyToOne
@JoinColumn(name="user_id")
private User user;
}
BorrowRepository.java
public interface BorrowRepository extends JpaRepository<Borrow, Integer> {
public List<Borrow> findByUserUserId(Integer userId);
}
我正在嘗試找到一種方法來顯示用戶和他租借的書籍列表。
我將findByUserUserId
方法添加到 `BorrowRepository.
同樣在BorrowService.java我添加了下一行代碼:
@Service
public class BorrowService {
public List<Borrow> getItemByUser(Integer userId){
borrowRepo.findByUserUserId(userId);
return borrowRepo.findAll();
}
在BorrowController.java中添加了下一個:
@RequestMapping("/user/{id}/borrow")
public List<Borrow> getAllItemsByUser(@PathVariable Integer userId){
return service.getItemByUser(userId);
}
我應該使用@Query 嗎?
任何幫助,將不勝感激。
由於您已經在借用表中使用了 used_id,請嘗試將 findByUserUserId 方法編輯為 findByUserId,假設您已經填充了數據庫,這應該可以工作。
嘗試將方法的名稱更改為“findByUserId”以及 PathVariable 的名稱以匹配參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.