package org.dddlib.organisation.security.domain;
import org.dayatang.security.domain.User;
import org.dddlib.organisation.domain.Employee;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/**
* Created by yyang on 15/7/10.
*/
@Entity
@DiscriminatorValue("EMP_USER")
public class EmployeeUser extends User {
@NotNull
@ManyToOne
private Employee employee;
protected EmployeeUser() {
}
public EmployeeUser(String name, String password, Employee employee) {
super(name, password);
this.employee = employee;
}
public EmployeeUser(Employee employee, String password) {
super(employee.getSn(), password);
this.employee = employee;
}
public Employee getEmployee() {
return employee;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof EmployeeUser)) {
return false;
}
EmployeeUser that = (EmployeeUser) o;
return Objects.equals(getEmployee(), that.getEmployee());
}
@Override
public int hashCode() {
return Objects.hash(getEmployee());
}
}