개발자
코드는 아래와 같습니다 ㅠㅠ 레파지토리에서 findBy 메소드 말구, 이런 식으로 하려고 하는데 쿼리문도 틀렸고 @Query 밑에 int 값을 불러오고 싶은데 Integer 이런걸로 시작하면 오류가 나고 .. 일단 저렇게 써놨는데 어떻게 짜야할지 모르겠어서 질문드립니다 ㅠㅠ 조장님께 물어봤더니 count 개수를 받아와서 자바에서 처리하라고 해서요 ㅠ 코드좀 손 봐주시면 감사드리겠습니다!!
1@Entity
2@Getter
3@Setter
4@Table(name = "warn_board")
5public class WarnBoard {
6
7 @Id
8 @Column(name = "warn_id") //식별자
9 private Long id;
10
11 @Column(name = "reporter_id") // 신고하는 사람의 아이디
12 private Long reporterId;
13
14 @Column(name = "reported_id") // 신고를 받는 대상자의 아이디
15 private Long reportedId;
16
17 @Column(name = "warn_type") // 신고 유형
18 private String warnType;
19
20 @Column(name = "descripton")
21 private String description; //기타 설명(신고 사유)
22
23 @ManyToOne
24 @JoinColumn(name = "user_id")
25 private UserInfo userInfo;
26}
27
28
29
30
31
32public interface WarnBoardRepository extends JpaRepository<WarnBoard, Long> {
33
34 @Query(value = "select count(*) from warn_board w where w.reported_id?1 >= 5", nativeQuery = true)
35 public WarnBoard warnedUser(int reportedId);
36
37
38}
답변 2
(숙제나 과제는 스스로 하셔야 해요. ) 여러 방법이 있을 텐데, 일단 쿼리로는, 아래처럼, 동일 reported_id로 5건 이상의 레코드가 있는 경우를 뽑아서, 이 reported_id를 전부 블럭 처리하면 되긴 합니다. SELECT reported_id, count(*) FROM warn_board GROUP BY reported_id HAVING count(*) >= 5 쿼리 수준에서는 GROUP BY와 HAVING을 공부하시면 힌트가 될 거예요.
성현
작성자
이젠IT아카데미 웹 개발 • 2023년 02월 23일
감사합니다 ㅠㅠ 사실 백엔드가 너무 어렵고 지금까지 해왔을 때 프론트 쪽이 더 적성에 맞는 것 같아서 이제 2주 남았는데 수료는 하고 프론트 공부를 할까 생각중이에요 ㅠ,, 학원에 와서 혼자 고민하고 찾아봐도 잘 모르겠어서 올렸네요 ㅠ ㅋㅋ 도와주셔서 감사해요 !
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!