Bicho de uma olhada neste exemplo que tenho neles estão mapeados os relacionamentos de Curso (1) com (N) Disciplinas. Existe tambem um mapeamento de uma classe herdada. Ainda não esta pronto mas o que tem ja esta funcionando qualquer coisa poste novamente ai !!!
Existe ai no meio uma lista de Turmas mas esqueça pois é uma parte do prograna que ainda não terminei.
packagebeans;importjava.util.List;importjavax.persistence.CascadeType;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.JoinTable;importjavax.persistence.ManyToOne;importjavax.persistence.Table;@Entity@Table(name="disciplinas")publicclassDisciplina{privateIntegerid;privateStringnome;privateStringementa;privateCursocurso;// private List<Turma> turmas;/** Creates a new instance of Disciplina */publicDisciplina(){}@Id@GeneratedValue(strategy=GenerationType.AUTO)publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetEmenta(){returnementa;}publicvoidsetEmenta(Stringementa){this.ementa=ementa;}@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE})@JoinColumn(name="Curso_id")publicCursogetCurso(){returncurso;}publicvoidsetCurso(Cursocurso){this.curso=curso;}/* public List<Turma> getTurmas() { return turmas; } public void setTurmas(List<Turma> turmas) { this.turmas = turmas; }*/}
/* * Curso.java * * Created on May 16, 2007, 11:20 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */packagebeans;importjava.util.List;importjavax.persistence.*;@Entity@Table(name="cursos")publicclassCurso{privateIntegerid;privateStringnome;privateStringdescricao;privateList<Disciplina>disciplinas;/** Creates a new instance of Curso */publicCurso(){}@Id@GeneratedValue(strategy=GenerationType.AUTO)publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetDescricao(){returndescricao;}publicvoidsetDescricao(Stringdescricao){this.descricao=descricao;}@OneToMany(mappedBy="curso",cascade=CascadeType.ALL,fetch=FetchType.EAGER)@OrderBy("nome")publicList<Disciplina>getDisciplinas(){disciplinas=null;returndisciplinas;}publicvoidsetDisciplinas(List<Disciplina>disciplinas){this.disciplinas=disciplinas;}}