Я пытаюсь создать api для отдыха библиотеки, используя 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*
}
Книга. 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;
}
Займ репозиторий. 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?
Любая помощь будет принята с благодарностью.