// default package
// Generated Nov 24, 2014 4:55:08 PM by Hibernate Tools 4.0.0
package qa.qcri.aidr.dbmanager.entities.model;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
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 com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import qa.qcri.aidr.dbmanager.entities.misc.Collection;
/**
* ModelFamily generated by hbm2java
*/
@Entity
@Table(name = "model_family", catalog = "aidr_predict", uniqueConstraints = @UniqueConstraint(columnNames = {
"crisisID", "nominalAttributeID"}))
public class ModelFamily implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -1064917491408243168L;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "modelFamilyID", unique = true, nullable = false)
private Long modelFamilyId;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "nominalAttributeID", nullable = false)
@JsonBackReference
private NominalAttribute nominalAttribute;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "crisisID", nullable = false)
@JsonBackReference
private Collection collection;
@Column(name = "isActive", nullable = false)
private boolean isActive;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "modelFamily")
@JsonManagedReference
private List<Model> models = null;
public ModelFamily() {
}
public ModelFamily(NominalAttribute nominalAttribute, Collection collection,
boolean isActive) {
this.nominalAttribute = nominalAttribute;
this.collection = collection;
this.isActive = isActive;
}
public ModelFamily(NominalAttribute nominalAttribute, Collection collection,
boolean isActive, List<Model> models) {
this.collection = collection;
this.isActive = isActive;
this.models = models;
}
public Long getModelFamilyId() {
return this.modelFamilyId;
}
public void setModelFamilyId(Long modelFamilyId) {
this.modelFamilyId = modelFamilyId;
}
public NominalAttribute getNominalAttribute() {
return this.nominalAttribute;
}
public void setNominalAttribute(NominalAttribute nominalAttribute) {
this.nominalAttribute = nominalAttribute;
}
public Collection getCollection() {
return this.collection;
}
public void setCollection(Collection crisis) {
this.collection = crisis;
}
public boolean isIsActive() {
return this.isActive;
}
public void setIsActive(boolean isActive) {
this.isActive = isActive;
}
public List<Model> getModels() {
return this.models;
}
public void setModels(List<Model> models) {
this.models = models;
}
public boolean hasNominalAttribute() {
return Hibernate.isInitialized(this.nominalAttribute);
}
public boolean hasModels() {
return Hibernate.isInitialized(this.models);
}
public boolean hasCrisis() {
return Hibernate.isInitialized(this.collection);
}
}