package io.delphiplatform.api.v3.rdb.entity.ads;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import io.delphiplatform.api.v3.decibelrdb.entity.DecibelCampaignEntity;
import io.delphiplatform.api.v3.rdb.entity.DspEntity;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity(name = "ads_ad_set")
public class AdsAdSetEntity {

    @Id
    private String adSetId;
    private String adSetName;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "campaign_id", nullable = false)
    private AdsCampaignEntity adsCampaign;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "account_id", nullable = false)
    private AdsAccountEntity adsAccount;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "dsp", nullable = false)
    private DspEntity dsp;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "campaign_id", nullable = false, insertable = false, updatable = false)
    private DecibelCampaignEntity decibelCampaign;

}
