package wifi.model.data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="matricula")
@IdClass(MatriculaId.class)
public class Matricula {
@Id
@Column(name="id_curso", insertable=false, updatable=false)
private Integer cursoId;
@Id
@Column(name="id_aluno")
private Integer alunoId;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="id_curso")
private Curso curso;
public Matricula() {}
public Integer getCursoId() {
return cursoId;
}
public void setCursoId(Integer cursoId) {
this.cursoId = cursoId;
}
public Integer getAlunoId() {
return alunoId;
}
public void setAlunoId(Integer alunoId) {
this.alunoId = alunoId;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((alunoId == null) ? 0 : alunoId.hashCode());
result = prime * result + ((curso == null) ? 0 : curso.hashCode());
result = prime * result + ((cursoId == null) ? 0 : cursoId.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Matricula other = (Matricula) obj;
if (alunoId == null) {
if (other.alunoId != null)
return false;
} else if (!alunoId.equals(other.alunoId))
return false;
if (curso == null) {
if (other.curso != null)
return false;
} else if (!curso.equals(other.curso))
return false;
if (cursoId == null) {
if (other.cursoId != null)
return false;
} else if (!cursoId.equals(other.cursoId))
return false;
return true;
}
@Override
public String toString() {
return "Matricula [cursoId=" + cursoId + ", alunoId=" + alunoId
+ ", curso=" + curso.getNome() + "]";
}
}