[Project] 데이터를 어떻게 가지고 와야 할까

김호정's avatar
Oct 09, 2024
[Project] 데이터를 어떻게 가지고 와야 할까
처음 생각은 무작정 지역, 영화관, 영화, 날짜, 상영시간이 필요하고
지역 누르면 영화관 나오고 쭉 연결됐다 생각해서 한번에 데이터 뽑을 수 있는 쿼리를 생각했다.
select c.name, r.city, s.name, st.started_at, mt.movie_nm, mt.rating_grade from cinema_tb c left outer join region_tb r on c.region_id = r.id right outer join screen_tb s on r.id = s.cinema_id right outer join showtime_tb st on s.id = st.screen_id left outer join movie_tb mt on st.movie_id = mt.id
notion image
아직 총 좌석, 현 남은 좌석 없다!
총 좌석은 seat 테이블에서 count해서 구하고, 남은 좌석은 티켓정보에서 빼는걸로

고민

쿼리문 사용할 때 클래스 타입을 넣고 파라미터에 클래스를 넣는데 안에 들은게 없어서 뭘 넣을지 모르겠다

 
예약 클래스 안에 pk, 유저fk, 예약시간이 들어가 있다 그래서 쿼리문을 골라도 담을 곳이 없다
DTO로 만든다 해도 타입이 없으니 잘 모르겠다
 
→ 실제 내가 해야할 클래스는 예약 클래스가 아니고 showTime 클래스 일지도 모르겠다. showTime에 영화정보, 좌석, 시간, 영화관 등 다 들어가 있어서 필요할 것 같다 도와주셔서 감사합니다. 아직 해결못함 고민중
 
  • 해결
쇼타임 클래스에서 작업했습니다.
 

세션으로 값을 보내야 할지, insert해서 좌석에 정보를 줘야 할지 로컬스토리에 넣어야 할지 고민

 
세션 스토리에 넣으면 사라지지만 예약때 좌석까지 선택해야 모든 것이 완성되기에 예약시 좌석 전에는 상관 없다 판단 강사님은 insert해서 하고 좌석때 update하는게 좋다 했지만 우리가 지금 짠 테이블에서는 힘들다 했다 뭐가 힘들다 했지?
그래서 굳이 정보를 저장할 필요 없이 showTime의 프라이머리키를 세션에 저장해서 좌석쪽에 전달해주자

한번에 많은 테이블을 join해서 jpql로 하려니까 오류남

join join하면 데이터는 많아지겠지만 JPQL로 하려니까 일단 안된다. 안 되는 것 같다
또 여러번 join하니까 IO를 너무 많이 사용한다.
 
 
Share article

keepgoing