[Spring]JPA、関連便利方法🤔


関連便利な方法


≪関連付けの便利さ|Association便利さ|emdw≫:双方向の関連付けを一度に設定する便利さの方法

エンティティAとBは双方向の関連関係ですが、どこで関連関係編を使うのが良いですか?


3つの選択肢があります.

  • エンティティAの上に置く.

  • エンティティBの上に置く.

  • シンボルAとBの上に置く
  • 両者を兼ねると混乱がひどくなるので、A、Bの中からどちらかを選んで使うとよいでしょう.
    では、A Bの中から1つを選ぶと、実はこの部分には正解がありません.
    この部分はJPAの分野というより、オブジェクト向けに設計された分野だからです.
    たとえば、OrderとDeliveryのチームのコアビジネスが受注である場合、Orderで関連付けられた便利な方法を使用するのがより良い選択かもしれません.
    しかし、私たちが配送を担当するチームで、Orderエンティティがありますが、関連する情報はあまり意味がありません.配送を中心にビジネスロジックを行います.配送はセンターエンティティになるので、配送には関連関係の便利な方法を使ったほうがいいです.


    Team,ワーク
    メンバー#メンバー#
    複数対1の双方向関係であると仮定し、関連関係の所有者はメンバーです.
    public void setTeam(Team team) {
    
        if (this.team != null) { 					// 기존에 이미 팀이 존재한다면
            this.team.getMembers().remove(this); 	// 관계를 끊는다.
        }
        
        this.team = team;
        team.getMembers().add(this);
        
    }
    上記の方法は、ビジネスロジックを行う中心エンティティに配置される.
    インフラストラクチャの問題のソース