package com.sap.nwce.ra.edm.ejb.entity;
import java.io.Serializable; import java.math.BigDecimal; import java.util.ArrayList; 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.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.TableGenerator; import javax.persistence.Version;
@NamedQueries({ @NamedQuery(name="Employee.getAll", query="SELECT e FROM Employee e"), // @NamedQuery(name="Employee.findByNamePart", query="SELECT e FROM Employee e WHERE lower(e.lastName) LIKE :namepart OR lower(e.firstName) LIKE :namepart1"), // requires native datasource @NamedQuery(name="Employee.findByNamePart", query="SELECT e FROM Employee e WHERE e.lastName LIKE :namepart OR e.firstName LIKE :namepart1"), @NamedQuery(name="Employee.findByLogin", query="SELECT e FROM Employee e WHERE e.login = :login") }) @Entity @Table(name="CERA_EMPLOYEE") public class CeraEmployee implements Serializable { @Id @Column(name="EMPLOYEE_ID") @GeneratedValue(strategy=GenerationType.TABLE, generator = "IdGenerator") @TableGenerator(name="IdGenerator", table = "CERA_GENERATOR", pkColumnName = "BEAN_NAME", valueColumnName = "MAX_ID") private int employeeId;
private String email;
private String currency;
private BigDecimal salary;
@ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="DEPARTMENT_ID") private CeraDepartment employeeDepartment;
@OneToOne(mappedBy="manager") private CeraDepartment deptManager;
private String salutation;
@Version private int version;
@Column(name="LAST_NAME") private String lastName;
private String login;
@Column(name="FIRST_NAME") private String firstName;
@OneToMany(mappedBy="leader", fetch = FetchType.LAZY) private List<CeraProject> projectsLeadByEmployee = new ArrayList<CeraProject>();
@ManyToMany(mappedBy="employees", fetch = FetchType.LAZY) private List<CeraProject> projectsByParticipant = new ArrayList<CeraProject>();
@ManyToMany(fetch=FetchType.EAGER) @JoinTable(joinColumns = @JoinColumn(name = "EMPLOYEE_ID", referencedColumnName = "EMPLOYEE_ID"), inverseJoinColumns = @JoinColumn(name = "SKILL_ID", referencedColumnName = "SKILL_ID"), name = "CERA_EMP_SKILL") private List<CeraSkill> skills = new ArrayList<CeraSkill>();
@ManyToMany(fetch=FetchType.LAZY) @JoinTable(joinColumns = @JoinColumn(name = "EMPLOYEE_ID", referencedColumnName = "EMPLOYEE_ID"), inverseJoinColumns = @JoinColumn(name = "GROUP_ID", referencedColumnName = "GROUP_ID"), name = "CERA_EMP_UGR") private List<CeraUsergroup> groups = new ArrayList<CeraUsergroup>();
private static final long serialVersionUID = 1L;
public CeraEmployee() { super(); }
public int getEmployeeId() { return this.employeeId; }
public void setEmployeeId(int employeeId) { this.employeeId = employeeId; }
public String getEmail() { return this.email; }
public void setEmail(String email) { this.email = email; }
public String getCurrency() { return this.currency; }
public void setCurrency(String currency) { this.currency = currency; }
public BigDecimal getSalary() { return this.salary; }
public void setSalary(BigDecimal salary) { this.salary = salary; }
public String getSalutation() { return this.salutation; }
public void setSalutation(String salutation) { this.salutation = salutation; }
public int getVersion() { return this.version; }
public void setVersion(int version) { this.version = version; }
public String getLastName() { return this.lastName; }
public void setLastName(String lastName) { this.lastName = lastName; }
public String getLogin() { return this.login; }
public void setLogin(String login) { this.login = login; }
public String getFirstName() { return this.firstName; }
public void setFirstName(String firstName) { this.firstName = firstName; }
public CeraDepartment getDeptManager() { return deptManager; }
public void setDeptManager(CeraDepartment deptManager) { this.deptManager = deptManager; }
public CeraDepartment getEmployeeDepartment() { return employeeDepartment; }
public void setEmployeeDepartment(CeraDepartment employeeDepartment) { this.employeeDepartment = employeeDepartment; }
public List<CeraUsergroup> getGroups() { return groups; }
public void setGroups(List<CeraUsergroup> groups) { this.groups = groups; }
public List<CeraProject> getProjectsByParticipant() { return projectsByParticipant; }
public void setProjectsByParticipant(List<CeraProject> projectsByParticipant) { this.projectsByParticipant = projectsByParticipant; }
public List<CeraProject> getProjectsLeadByEmployee() { return projectsLeadByEmployee; }
public void setProjectsLeadByEmployee(List<CeraProject> projectsLeadByEmployee) { this.projectsLeadByEmployee = projectsLeadByEmployee; }
public List<CeraSkill> getSkills() { return skills; }
public void setSkills(List<CeraSkill> skills) { this.skills = skills; }
}
|