CbTransactionContainer.java

package com.tradecloud.domain.creditorbilling.transaction;

import com.tradecloud.domain.container.ContainerType;
import org.hibernate.annotations.ForeignKey;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author jon
 */
@Embeddable
public class CbTransactionContainer implements Serializable {

    private String containerReference;

    @Column(name = "containerrefupdate")
    private String containerReferenceUpdate;

    @ForeignKey(name = "fk_containertype")
    @NotNull
    @ManyToOne(optional = false)
    @JoinColumn(name = "containertype_code")
    private ContainerType containerType;

    @ForeignKey(name = "fk_containertypeupdate")
    @ManyToOne
    @JoinColumn(name = "containertype_update_code")
    private ContainerType containerTypeUpdate;

    private Date dischargeDate;
    private BigDecimal netWeight;
    private BigDecimal grossWeight;
    private BigDecimal grossVolume;

    public String getContainerReference() {
        return containerReference;
    }

    public void setContainerReference(String containerReference) {
        this.containerReference = containerReference;
    }

    public ContainerType getContainerType() {
        return containerType;
    }

    public void setContainerType(ContainerType containerType) {
        this.containerType = containerType;
    }

    public String getContainerReferenceUpdate() {
        return containerReferenceUpdate;
    }

    public void setContainerReferenceUpdate(String containerReferenceUpdate) {
        this.containerReferenceUpdate = containerReferenceUpdate;
    }

    public ContainerType getContainerTypeUpdate() {
        return containerTypeUpdate;
    }

    public void setContainerTypeUpdate(ContainerType containerTypeUpdate) {
        this.containerTypeUpdate = containerTypeUpdate;
    }

    public Date getDischargeDate() {
        return dischargeDate;
    }

    public void setDischargeDate(Date dischargeDate) {
        this.dischargeDate = dischargeDate;
    }

    public BigDecimal getNetWeight() {
        return netWeight;
    }

    public void setNetWeight(BigDecimal netWeight) {
        this.netWeight = netWeight;
    }

    public BigDecimal getGrossVolume() {
        return grossVolume;
    }

    public void setGrossVolume(BigDecimal grossVolume) {
        this.grossVolume = grossVolume;
    }

    public BigDecimal getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(BigDecimal grossWeight) {
        this.grossWeight = grossWeight;
    }
}