// default package
// Generated Nov 24, 2014 4:55:08 PM by Hibernate Tools 4.0.0
package qa.qcri.aidr.dbmanager.entities.model;
import static javax.persistence.GenerationType.IDENTITY;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.hibernate.Hibernate;
import qa.qcri.aidr.dbmanager.entities.misc.Collection;
import qa.qcri.aidr.dbmanager.entities.misc.Users;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
/**
* NominalAttribute generated by hbm2java
*/
@Entity
@Table(name = "nominal_attribute", catalog = "aidr_predict", uniqueConstraints = @UniqueConstraint(columnNames = "code"))
public class NominalAttribute implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -8597872499380166539L;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "nominalAttributeID", unique = true, nullable = false)
private Long nominalAttributeId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userID", nullable = false)
@JsonBackReference
private Users users;
@Column(name = "name", nullable = false, length = 140)
private String name;
@Column(name = "description", nullable = false, length = 600)
private String description;
@Column(name = "code", unique = true, nullable = false, length = 64)
private String code;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "nominalAttribute")
@JsonManagedReference
private List<ModelFamily> modelFamilies = null;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "nominalAttribute")
@JsonManagedReference
private List<NominalLabel> nominalLabels = null;
public NominalAttribute() {
}
public NominalAttribute(Users users, String name, String description,
String code) {
this.users = users;
this.name = name;
this.description = description;
this.code = code;
}
public NominalAttribute(Users users, String name, String description,
String code, List<ModelFamily> modelFamilies,
List<NominalLabel> nominalLabels) {
this.users = users;
this.name = name;
this.description = description;
this.code = code;
this.modelFamilies = modelFamilies;
this.nominalLabels = nominalLabels;
}
public Long getNominalAttributeId() {
return this.nominalAttributeId;
}
public void setNominalAttributeId(Long nominalAttributeId) {
this.nominalAttributeId = nominalAttributeId;
}
public Users getUsers() {
return this.users;
}
public void setUsers(Users users) {
this.users = users;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return this.description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCode() {
return this.code;
}
public void setCode(String code) {
this.code = code;
}
public List<ModelFamily> getModelFamilies() {
return this.modelFamilies;
}
public void setModelFamilies(List<ModelFamily> modelFamilies) {
this.modelFamilies = modelFamilies;
}
public List<NominalLabel> getNominalLabels() {
return this.nominalLabels;
}
public void setNominalLabels(List<NominalLabel> nominalLabels) {
this.nominalLabels = nominalLabels;
}
public boolean hasUsers() {
return Hibernate.isInitialized(this.users);
}
public boolean hasNominalLabels() {
return Hibernate.isInitialized(this.nominalLabels);
}
public boolean hasModelFamily() {
return Hibernate.isInitialized(this.modelFamilies);
}
}