// default package
// Generated Nov 24, 2014 4:55:08 PM by Hibernate Tools 4.0.0
package qa.qcri.aidr.dbmanager.entities.task;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import javax.xml.bind.annotation.XmlTransient;
import org.hibernate.Hibernate;
import com.fasterxml.jackson.annotation.JsonBackReference;
import qa.qcri.aidr.dbmanager.entities.model.NominalLabel;
/**
* DocumentNominalLabel generated by hbm2java
*/
@Entity
@Table(name = "document_nominal_label", catalog = "aidr_predict")
public class DocumentNominalLabel implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 780942456619903470L;
private DocumentNominalLabelId id;
private Date timestamp;
private NominalLabel nominalLabel;
private Document document;
public DocumentNominalLabel() {
}
public DocumentNominalLabel(DocumentNominalLabelId id,
NominalLabel nominalLabel, Document document) {
this.id = id;
this.nominalLabel = nominalLabel;
this.document = document;
}
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "documentId", column = @Column(name = "documentID", nullable = false)),
@AttributeOverride(name = "nominalLabelId", column = @Column(name = "nominalLabelID", nullable = false)),
@AttributeOverride(name = "userId", column = @Column(name = "userID", nullable = false)) })
public DocumentNominalLabelId getId() {
return this.id;
}
public void setId(DocumentNominalLabelId id) {
this.id = id;
}
@Version
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "timestamp", nullable = false, length = 19)
public Date getTimestamp() {
return this.timestamp;
}
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "nominalLabelID", nullable = false, insertable = false, updatable = false)
@JsonBackReference
public NominalLabel getNominalLabel() {
return this.nominalLabel;
}
public void setNominalLabel(NominalLabel nominalLabel) {
this.nominalLabel = nominalLabel;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "documentID", nullable = false, insertable = false, updatable = false)
@JsonBackReference
public Document getDocument() {
return this.document;
}
public void setDocument(Document document) {
this.document = document;
}
public boolean hasDocument() {
return Hibernate.isInitialized(this.document);
}
public boolean hasNominalLabel() {
return Hibernate.isInitialized(this.nominalLabel);
}
}