본문 바로가기

TIL

[TIL]2023-09-04

responseEntity.getsStatusCode() - statuscode를 가져옴
responsEntity.getBody() - body 부분을 가져옴

responseEntity.ok = 200
responseEntity.bad_request = 400으로 세팅


양방향
음식 : 고객 = N : 1 
음식
@ManyToOne
@JoinColumn(name = "user_id")
private User user;

고객
@OneToMany(mappedBy = "user")
private List<food> foodList = new ArrayList<>();

단방향
음식
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
그러나 고객쪽에는 추가하지 않음.

DB 테이블에서는 테이블 사이의 연관관계를 FK로 맺고, 방향 상관없이 조회 가능.
Entity에서는 상대 Entity를 참조하여 Entity 사이의 연관관계를 맺을 수 있다.
하지만 상대 Entity를 참조하지 않고 있다면, 상대 Entity를 조회할 수 있는 방법이 없다.
따라서 DB와는 다르게 Entity에는 방향성이 존재한다.

 

이 때 양방향성을 쓸 때에는 조심해야한다. 양방향성을 쓴 후에 한 쪽을 호출할 시에 다른 쪽을 호출하고 그 호출한 쪽에서 다른 쪽을 호출하는 등 무한 루프에 들어갈 수 있기 때문이다. 그 경우에 @JsonBackReference anotation을 추가해주면 무한루프를 막을 수 있다.

'TIL' 카테고리의 다른 글

[TIL]2023-09-06  (0) 2023.09.06
[TIL]2023-09-05  (0) 2023.09.05
[TIL]2023-09-01  (0) 2023.09.01
[TIL]2023-08-31  (0) 2023.09.01
[TIL]2023-08-30  (0) 2023.08.30