package com.sonymusic.dx.persistence.gras;

import jakarta.persistence.*;

@Entity
@IdClass(RepOwnerTerritorySplitDealPk.class)
@Table(name = "vgras178")
public class RepOwnerIncludedTerritorySplitDeal extends RAASClientSpecificEntity {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "deal_no", nullable = false, insertable = false, updatable = false)
    private Long dealNo;

    @Id
    @Column(name = "rep_owner_key", nullable = false, length = 250, insertable = false, updatable = false)
    private String repOwner;

    @Id
    @Column(name = "dist_area_key", nullable = false, length = 250, insertable = false, updatable = false)
    private String territory;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "deal_no", insertable = false, updatable = false)
    private SplitDeal splitDeal;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "rep_owner_key", insertable = false, updatable = false)
    private RepertoireOwner repertoireOwner;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "dist_area_key", insertable = false, updatable = false)
    private DistributionArea distributionArea;

    public Long getDealNo() {
        return dealNo;
    }

    public void setDealNo(Long dealNo) {
        this.dealNo = dealNo;
    }

    public String getRepOwner() {
        return repOwner;
    }

    public void setRepOwner(String repOwner) {
        this.repOwner = repOwner;
    }

    public String getTerritory() {
        return territory;
    }

    public void setTerritory(String territory) {
        this.territory = territory;
    }

    public SplitDeal getSplitDeal() {
        return splitDeal;
    }

    public void setSplitDeal(SplitDeal splitDeal) {
        this.splitDeal = splitDeal;
    }

    public RepertoireOwner getRepertoireOwner() {
        return repertoireOwner;
    }

    public void setRepertoireOwner(RepertoireOwner repertoireOwner) {
        this.repertoireOwner = repertoireOwner;
    }

    public DistributionArea getDistributionArea() {
        return distributionArea;
    }

    public void setDistributionArea(DistributionArea distributionArea) {
        this.distributionArea = distributionArea;
    }
}

