public MdOrderDto selectOne(Long mdOrderId, Long memberId) {
MdOrder mdOrder = em.find(MdOrder.class, mdOrderId);
log.info("멤버 아이디 = {}", memberId);
log.info("찾은 멤버 아이디 = {}", mdOrder.getOrder().getMember().getId());
if(mdOrder.getOrder().getMember().getId() != memberId) {
return null;
}
return new MdOrderDto(
mdOrder.getId(), mdOrder.getQuantity(), mdOrder.getPrice(), mdOrder.getMarket().getMd().getName(),
mdOrder.getDelivery().getAddress(), mdOrder.getDelivery().getStatus(), mdOrder.getOrder().getStatus(),
mdOrder.getOrder().getOrderDate()
);
}
주문 페이지에서
해당 주문을 한 멤버가 아니면 null을 리턴하는 로직을 만들었다
하지만 같은 아이디 값인데도 null을 반환하는 문제가 발생했다
생각해보니
널을 받기 위해 Long 으로 값을 받았는데
앞 글자가 대문자인 Long은 Object 타입이기 때문에
== 비교가 안 되었던 것...
equals 로 비교를 해주니 잘 동작한담 :)
728x90