CustomVat.java

package com.tradecloud.domain;

import com.tradecloud.common.base.PersistenceBase;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "customvat", uniqueConstraints = {
        @UniqueConstraint(columnNames = {"effectiveDate"})})
public class CustomVat extends PersistenceBase implements Comparable<CustomVat> {

    private BigDecimal rate;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(unique = true, name = "effectiveDate")
    private Date effectiveDate;

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public BigDecimal getRate() {
        return rate;
    }

    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    @Override
    public int compareTo(CustomVat o) {
        return effectiveDate.compareTo(o.effectiveDate);
    }
}