Nesse exemplo, temos uma entidade "Post" que possui um relacionamento um-para-muitos com a entidade "Comentario". A anotação @OneToMany no campo "comentarios" indica esse relacionamento, enquanto a anotação @ManyToOne no campo "post" estabelece a relação inversa. A anotação @JoinColumn especifica a coluna "post_id" que será usada para fazer a junção entre as tabelas.

🧑🏼‍💻 Mão no código

@Entity
public class Publicacao {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column
    private String titulo;
    
    @OneToMany(mappedBy = "publicacao", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Comentario> comentarios;

    // getters e setters
}

@Entity
public class Comentario {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column
    private String texto;

    @ManyToOne(cascade = CascadeType.MERGE)
    @JoinColumn(name = "publicacao_id", nullable = false)
    private Publicacao publicacao;

    // getters e setters
}