Estou criando uma API baseada na do curso, porém, é necessario criar duas tabelas distintas, sendo assim o @Embedded não é uma opção! Como faço para fazer esse mapeamento? Já tentei diversas abordagens e nenhuma deu certo.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou criando uma API baseada na do curso, porém, é necessario criar duas tabelas distintas, sendo assim o @Embedded não é uma opção! Como faço para fazer esse mapeamento? Já tentei diversas abordagens e nenhuma deu certo.
Fala Douglas, de boa ?
Cara acho que vai depender muito do dominio da sua aplicação, vou usar um exemplo bem bestinha:
@Entity
public class Teacher {
@Id
@Column(name="teacher_id")
private int id;
@Column(name="teacher_name")
private String name;
@OneToMany(mappedBy="teacher")
private List<Course> courses;
public Teacher() {
courses = new ArrayList<>();
}
// GETTERS AND SETTERS
}
@Entity
public class Course {
@Id
@Column(name="course_id")
private int id;
@Column(name="course_name")
private String name;
@ManyToOne
@JoinColumn(name = "teacher_id")
private Teacher teacher;
public Course() {
}
// GETTERS AND SETTERS
}Desse jeito, a gente tá falando que um professor tem muitos cursos (@OneToMany) e que podemos ter vários cursos com um professor (@ManyToOne)