package com.sonymusic.dx.persistence.gras;

import jakarta.persistence.*;

import java.io.Serializable;

@Entity
@Table(name = "vgras113")
public class ParentRepertoireOwner extends RAASClientSpecificEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "parent_rep_owner_key")
    private String parentRepOwnerKey;

    @OneToOne(optional = false, fetch = FetchType.LAZY)
    @PrimaryKeyJoinColumn(name = "parent_rep_owner_key", referencedColumnName = "company_key")
    private Company company;

    protected ParentRepertoireOwner() {

    }

    public String getParentRepOwnerKey() {
        return parentRepOwnerKey;
    }

    public void setParentRepOwnerKey(String parentRepOwnerKey) {
        this.parentRepOwnerKey = parentRepOwnerKey;
    }

    public Company getCompany() {
        return company;
    }

    public void setCompany(Company company) {
        this.company = company;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((parentRepOwnerKey == null) ? 0 : parentRepOwnerKey.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        ParentRepertoireOwner other = (ParentRepertoireOwner) obj;
        if (parentRepOwnerKey == null) {
            if (other.parentRepOwnerKey != null)
                return false;
        } else if (!parentRepOwnerKey.equals(other.parentRepOwnerKey))
            return false;
        return true;
    }

}