Я сделал 3 таблицы на сервере MySQL (с использованием SpringBoot).
вот так
как таблица
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"user", "paper"})
public class Like {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// like N : 1 user
@ManyToOne
private User user; //userStudentNumber
@ManyToOne
private Paper paper;
}
таблица пользователя
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"likeList"})
public class User {
@Id
private String studentNumber;
private String userPassword;
private String userEmail;
// user 1 : N like
@JsonIgnore
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private List<Like> likeList;
}
«бумажный стол»
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"likeList"})
public class Paper {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// S3 key value
private String keyName;
// Github url
private String github;
@JsonIgnore
@OneToMany(fetch = FetchType.LAZY, mappedBy = "paper")
private List<Like> likeList;
}
, и я хочу увидеть результат этого запроса, например «выбрать *, например, где user_student_number =" 123 »и paper_id = 1 '
like;' result, student_number is VARCHAR and paper_id is BIGINT">
как создать метод в LikeRepository с помощью метода запроса JPA?
@Repository
public interface LikeRepository extends JpaRepository<Like, Long> {
Optional<Like> findByUserAndPaper(User user, Paper paper); //this doesn`t work
}