OrganisationalUnitTier.java
package com.tradecloud.domain.model.organisationalunit;
import com.tradecloud.common.base.StaticDataEntityBase;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@Entity(name = "OrganisationalUnitTier")
@Table(name = "organisationalunittier")
@NamedQueries({
@NamedQuery(name = "orgUnitTier.byName", query = "SELECT t FROM OrganisationalUnitTier t where lower(t.name) = lower(:name)"),
@NamedQuery(name = "orgUnitTier.byLevel", query = "SELECT t FROM OrganisationalUnitTier t where t.level_ = :level"),
@NamedQuery(name = "orgUnitTier.byCode", query = "SELECT t FROM OrganisationalUnitTier t where t.code = :code")})
@Access(AccessType.FIELD)
@XmlRootElement(name = "OrganisationalUnitTier")
@XmlAccessorType(XmlAccessType.FIELD)
public class OrganisationalUnitTier extends StaticDataEntityBase {
private static final long serialVersionUID = 1L;
//this field unfortunately has to be: parentLevel > childLevel
// e.g. BusinessUnit level 20, Division level_ 10
// we need to do it like this so that hibernate can orderBy Desc with Nulls last (only supported in Hibernate >4.2 to pass a nullsLast flag)
@NotNull(message = "Level is required")
private Integer level_;
public OrganisationalUnitTier() {
}
public OrganisationalUnitTier(String name, int level_) {
super(name, name);
this.level_ = level_;
}
public OrganisationalUnitTier(String code, String name, int level_) {
super(code, name);
this.level_ = level_;
}
public Integer getLevel_() {
return level_;
}
public void setLevel_(Integer level_) {
this.level_ = level_;
}
@Override
public String toString() {
return getName();
}
}