작성
·
132
·
수정됨
답변 1
0
안녕하세요. RealTake님, 공식 서포터즈 코즈위버입니다.
데이터베이스의 관계는 양방향이라는 의미는 Order, OrderItem의 관계(1:N)를 예로들면, Order의 키가 'order_id' 라고 할 때 이 order_id로 인해 Order->OrderItem 과 OrderItem>Order 로의 방향이 생긴다는 뜻입니다. 이처럼 데이터베이스에서는 관계를 맺는 엔터티끼리 양방향이 강제됩니다. 만약 OrerItem에서 order_id 를 생략한다면 두 엔터티는 '관계'속에 있는것이 아니므로 아예 관계가 성립되지 않습니다.
반면, 객체에서는 양방향을 강요하지 않습니다. Order 엔터티의에서 OrderItem 으로 연결하기 위해 List<OrderItem> orderItems; 필드를 만들어 Order -> OrderItem 으로 방향을 설정할수 있습니다. 역으로 OrderItem 엔터티에서 Order로 연결되는 필드를 만들순 있습니다. 그러나 강요사항은 아닙니다. 필요에 따라 연결할수도 아닐수도 있지요. 이처럼 객체에서는 단방향을 조합하여 양방향처럼 표현할 뿐, 엄밀히 말하면 양방향은 존재하지 않습니다.
감사합니다.