org.dellroad.querystream.jpa.test.Employee Maven / Gradle / Ivy
/*
* Copyright (C) 2018 Archie L. Cobbs. All rights reserved.
*/
package org.dellroad.querystream.jpa.test;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Employee extends AbstractPersistent {
private String name;
private float salary;
private Date startDate;
private Department department;
private Employee manager;
private Set directReports = new HashSet<>();
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public float getSalary() {
return this.salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
@Temporal(TemporalType.TIMESTAMP)
public Date getStartDate() {
return this.startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
@ManyToOne
public Employee getManager() {
return this.manager;
}
public void setManager(Employee manager) {
this.manager = manager;
}
@ManyToOne
public Department getDepartment() {
return this.department;
}
public void setDepartment(Department department) {
this.department = department;
}
@OneToMany(mappedBy = "manager")
public Set getDirectReports() {
return this.directReports;
}
public void setDirectReports(Set directReports) {
this.directReports = directReports;
}
@Override
public String toString() {
return this.getClass().getSimpleName()
+ "[name=" + (this.name != null ? "\"" + this.name + "\"" : null)
+ ",salary=" + this.salary
+ ",startDate=" + this.startDate
+ ",department=" + this.department
+ ",manager=" + this.manager
+ ",directReports=" + this.directReports
+ "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy