package com.sap.nwce.ra.edm.ejb.entity;
import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List;
import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.TableGenerator; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version;
@NamedQueries({ @NamedQuery(name="Project.getAll", query="SELECT p FROM Project p"), @NamedQuery(name="Project.getAllForEmployee", query="SELECT p FROM Project p where p.leader.employeeId = :employeeId"), @NamedQuery(name="Project.findByNameOrDescPart", query="SELECT p FROM Project p WHERE p.title LIKE :namepart OR p.description LIKE :namepart1") // @NamedQuery(name="Project.findByNameOrDescPart", query="SELECT p FROM Project p WHERE lower(p.title) LIKE :namepart OR lower(p.description) LIKE :namepart1") //requires native datasource }) @Entity @Table(name="CERA_PROJECT") public class CeraProject implements Serializable { @Id @Column(name="PROJECT_ID") @GeneratedValue(strategy=GenerationType.TABLE, generator = "IdGenerator") @TableGenerator(name="IdGenerator", table = "CERA_GENERATOR", pkColumnName = "BEAN_NAME", valueColumnName = "MAX_ID") private int projectId;
@ManyToOne @JoinColumn(name="LEAD_ID") private CeraEmployee leader;
private int status;
private String description;
@Column(name="START_DATE") @Temporal (TemporalType.DATE) private java.util.Date startDate;
private String title;
@ManyToMany(fetch=FetchType.EAGER) @JoinTable(joinColumns = @JoinColumn(name = "PROJECT_ID", referencedColumnName = "PROJECT_ID"), inverseJoinColumns = @JoinColumn(name = "EMPLOYEE_ID", referencedColumnName = "EMPLOYEE_ID"), name = "CERA_EMP_PRJ") private List<CeraEmployee> employees = new ArrayList<CeraEmployee>();
@ManyToMany(fetch=FetchType.EAGER) @JoinTable(joinColumns = @JoinColumn(name = "PROJECT_ID", referencedColumnName = "PROJECT_ID"), inverseJoinColumns = @JoinColumn(name = "SKILL_ID", referencedColumnName = "SKILL_ID"), name = "CERA_PRJ_SKILL") private List<CeraSkill> skills = new ArrayList<CeraSkill>();
@Version private int version;
@Column(name="END_DATE") @Temporal(TemporalType.DATE) private java.util.Date endDate;
private static final long serialVersionUID = 1L;
public CeraProject() { super(); }
public int getProjectId() { return this.projectId; }
public void setProjectId(int projectId) { this.projectId = projectId; }
public int getStatus() { return this.status; }
public void setStatus(int status) { this.status = status; }
public String getDescription() { return this.description; }
public void setDescription(String description) { this.description = description; }
public Date getStartDate() { return this.startDate; }
public void setStartDate(Date startDate) { this.startDate = startDate; }
public String getTitle() { return this.title; }
public void setTitle(String title) { this.title = title; }
public int getVersion() { return this.version; }
public void setVersion(int version) { this.version = version; }
public Date getEndDate() { return this.endDate; }
public void setEndDate(Date endDate) { this.endDate = endDate; }
public List<CeraEmployee> getEmployees() { return employees; }
public void setEmployees(List<CeraEmployee> employees) { this.employees = employees; }
public CeraEmployee getLeader() { return leader; }
public void setLeader(CeraEmployee leader) { this.leader = leader; }
public List<CeraSkill> getSkills() { return skills; }
public void setSkills(List<CeraSkill> skills) { this.skills = skills; }
}
|