package com.example.db.models; import jakarta.persistence.*; @Entity @Table(name="users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="user_id") private int userId; private String username; private String password; @Column(name="user_type") @Enumerated(EnumType.STRING) private UserType userType; @OneToOne(fetch = FetchType.LAZY, mappedBy = "user") private Review review; public User() {} public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public UserType getUserType() { return userType; } public void setUserType(UserType userType) { this.userType = userType; } } -------------------------------------------------------------------------------------------- package com.example.db.models; import jakarta.persistence.*; @Entity @Table(name="reviews") public class Review { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="review_id") private int reviewId; private double rating; private String comment; @OneToOne(fetch = FetchType.LAZY ,cascade = CascadeType.REMOVE) @JoinColumn(name="review_id") private User user; @ManyToOne(fetch = FetchType.LAZY ,cascade = CascadeType.REMOVE) @JoinColumn(name="book_id") private Book book; public Review() {} public int getReviewId() { return reviewId; } public void setReviewId(int reviewId) { this.reviewId = reviewId; } public double getRating() { return rating; } public void setRating(double rating) { this.rating = rating; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Book getBook() { return book; } public void setBook(Book book) { this.book = book; } } ------------------------------------------------------------------------ package com.example.db.models; public enum UserType { administrator("administrator"), user("user"), banned("banned"); private final String type; private UserType(String type) { this.type = type; } public String getType() { return type; } } ------------------------------------------------------------------------- for(Book b : books) { System.out.println(b); for(var r : b.getReviews()) { System.out.println(r.getRating() + " " + r.getUser()); } }