package org.phibase.database.schema; import java.io.Serializable; import javax.persistence.AttributeOverride; import javax.persistence.AttributeOverrides; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.hibernate.annotations.Type; @Entity @Table(name="OrganismRoleInReferenceSystemProcess") public class OrganismRoleInReferenceSystemProcess implements Serializable { /** * */ private static final long serialVersionUID = 1L; private OrganismRoleId id; private ROLE_TYPE roleType; private String description; private ReferenceOrganism referenceOrganism; private ReferenceSystemProcess referenecSystemProcess; public enum ROLE_TYPE { host, pathogen, participant } public OrganismRoleInReferenceSystemProcess() { } @EmbeddedId @AttributeOverrides({ @AttributeOverride(name="referenceOrganism", column=@Column(name="referenceOrganism", nullable=false)), @AttributeOverride(name="referenceSystemProcess", column=@Column(name="referenceSystemProcess", nullable=false)), @AttributeOverride(name="roleType", column=@Column(name="roleType", nullable=false)) }) public OrganismRoleId getId() { return id; } public void setId(OrganismRoleId id) { this.id = id; } @Column(name="roleType", nullable=false, updatable=false, insertable=false) @Enumerated(EnumType.STRING) public ROLE_TYPE getRoleType() { return roleType; } public void setRoleType(ROLE_TYPE roleType) { this.roleType = roleType; } @Column(name="description") @Type(type="text") public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="referenceOrganism", nullable=false, updatable=false, insertable=false) public ReferenceOrganism getReferenceOrganism() { return referenceOrganism; } public void setReferenceOrganism(ReferenceOrganism referenceOrganism) { this.referenceOrganism = referenceOrganism; } @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="referenceSystemProcess", nullable=false, updatable=false, insertable=false) public ReferenceSystemProcess getReferenecSystemProcess() { return referenecSystemProcess; } public void setReferenecSystemProcess( ReferenceSystemProcess referenecSystemProcess) { this.referenecSystemProcess = referenecSystemProcess; } }