Warehouse.java

package com.tradecloud.domain.place;

import com.tradecloud.common.base.StaticDataEntityBase;
import com.tradecloud.domain.party.base.Address;

import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * Warehouse - harder to define. (Will have a name and an address......not sure if it will have a code.
 */
@Entity
@Table(name = "warehouse", uniqueConstraints = {@UniqueConstraint(columnNames = {"name"})})
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Warehouse")
//@Cacheable(value = "warehouse")
public class Warehouse extends StaticDataEntityBase {

    private static final long serialVersionUID = 1L;

    @OneToOne(cascade = CascadeType.ALL)
    protected Address address;

    public Warehouse() {
    }

    public Warehouse(String code, String name) {
        setCode(code);
        setName(name);
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }
}