PaymentBasis.java

package com.tradecloud.domain.model.payment;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tradecloud.domain.common.IntegratedStaticDataEntityBase;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlAttribute;

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name = "paymentbasis", uniqueConstraints = {@UniqueConstraint(columnNames = {"code"})})
@DiscriminatorColumn(name = "paymentBasisType", discriminatorType = DiscriminatorType.STRING)
//@Cacheable(value = "paymentBasis")
public class PaymentBasis extends IntegratedStaticDataEntityBase {

    /**
     * UID.
     */
    private static final long serialVersionUID = 1L;

    /**
     * paymentBasisType @DiscriminatorColumn, specifically defined so it can be
     * used for display purposes for base PaymentBasis display.
     */
    @XmlAttribute(required = true)
    @Column(nullable = false, insertable = false, updatable = false)
    @JsonIgnore
    protected String paymentBasisType;

    public PaymentBasis(String code, String name) {
        super(code, name);
    }

    public PaymentBasis() {
    }

    public String getPaymentBasisType() {
        return paymentBasisType;
    }

    public void setPaymentBasisType(String paymentBasisType) {
        this.paymentBasisType = paymentBasisType;
    }

    @Override
    public String toString() {
        return getCode();
    }

}