package br.usp.ime.academicdevoir.entidade; import java.util.ArrayList; import java.util.Collection; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.OrderBy; @Entity /** * Entidade que representa um aluno cadastrado no sistema. * @author Vinicius Rezende */ public class Aluno extends Usuario { /** * @uml.property name="turmas" * @uml.associationEnd multiplicity="(0 -1)" inverse="alunos:br.usp.ime.academicdevoir.entidade.Turma" */ @ManyToMany(mappedBy = "alunos", cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.EAGER) @OrderBy("disciplina") private Collection<Turma> turmas = new ArrayList<Turma>(); @OneToMany(mappedBy = "aluno", fetch = FetchType.LAZY, cascade = CascadeType.ALL) private List<ListaDeRespostas> listasDeRespostas; /** * @return lista das turmas em que o aluno está matriculado */ public Collection<Turma> getTurmas() { return turmas; } /** * @param turmas * lista das turmas em que o aluno está matriculado. */ public void setTurmas(Collection<Turma> turmas) { this.turmas = turmas; } public List<ListaDeRespostas> getListasDeRespostas() { return listasDeRespostas; } public void setListasDeRespostas(List<ListaDeRespostas> listasDeRespostas) { this.listasDeRespostas = listasDeRespostas; } }