* 연관관계 편의 메서드
이는 JPA에서 양방향 연관관계를 관리하기 위한 편의 메서드입니다.
예를 들어 설명하면:
// 편의 메서드 없이 양방향 관계를 설정할 경우
StockPrice price = new StockPrice();
Stock stock = new Stock();
// 양쪽에 각각 설정해야 함
price.setStock(stock); // StockPrice -> Stock
stock.getPrices().add(price); // Stock -> StockPrice
// 편의 메서드를 사용할 경우
price.changeStock(stock); // 한 번에 양쪽 다 처리
잘못된 사용 예 (실수하기 쉬운 케이스):
StockPrice price = new StockPrice();
Stock stock = new Stock();
// Stock은 설정했지만 Price 리스트에는 추가 안됨 (누락!)
price.setStock(stock);
// 이후 stock.getPrices()로 조회시 price가 누락될 수 있음
CTO들의 견해:
- JPA 전문가:
- "양방향 관계에서 한쪽을 깜빡하는 실수는 자주 발생합니다. 편의 메서드로 이를 방지할 수 있습니다."
- OOP 전문가:
- "객체의 일관성을 유지하기 위해 필수적인 패턴입니다."
- 도메인 주도 설계 전문가:
- "연관관계의 주인 쪽에 이런 편의 메서드를 두는 것이 좋은 설계입니다."
- 시니어 아키텍트:
- "실수 방지와 코드 중복 제거를 위해 반드시 필요한 패턴입니다."