package br.usp.ime.academicdevoir.entidade; import java.util.List; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotEmpty; @Entity public class Tag { @Id @GeneratedValue private Long id; @NotEmpty @Length(max = 30) private String nome; @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "tags_questoes", joinColumns = { @JoinColumn(name = "id_tag") }, inverseJoinColumns = { @JoinColumn(name = "id_questao") }) private List<Questao> questoes; @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "tags_disciplinas", joinColumns = { @JoinColumn(name = "id_tag") }, inverseJoinColumns = { @JoinColumn(name = "id_disciplina") }) private List<Disciplina> disciplinas; public Tag() { } public Tag(String nome) { this.nome = nome; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNome() { return nome; } public void setNome(String valor) { this.nome = valor; } public List<Questao> getQuestoes() { return questoes; } public void setQuestoes(List<Questao> questoes) { this.questoes = questoes; } public List<Disciplina> getDisciplinas() { return disciplinas; } public void setDisciplinas(List<Disciplina> disciplinas) { this.disciplinas = disciplinas; } }