@Entity
public class Cliente {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id_cliente")
private Long idCliente;
@Column(name="nome_cliente")
private String nome;
@OneToMany(targetEntity=Newsletter.class ,cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "cliente",orphanRemoval=true)
public List<Newsletter> newsletters;
// getters, setters, construtor vazio e construtor preenchido.
@Entity
public class Newsletter {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id_newsletter")
private Long idNewsletter;
@Column(name="data_newsletter")
@Temporal(value=TemporalType.DATE)
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date data;
@ManyToOne
private Cliente cliente;
// getters, setters, construtor vazio e construtor preenchido.
Veja se é isso.[/quote]
Guevara,
Me aparece este erro agora:
exception
javax.servlet.ServletException: org.hibernate.exception.SQLGrammarException: could not initialize a collection: [br.ulbra.lpw.classes.Cliente.newsletter#4]
root cause
javax.el.ELException: org.hibernate.exception.SQLGrammarException: could not initialize a collection: [br.ulbra.lpw.classes.Cliente.newsletter#4]
root cause
org.hibernate.exception.SQLGrammarException: could not initialize a collection: [br.ulbra.lpw.classes.Cliente.newsletter#4]
root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'newsletter0_.cliente_id' in 'field list'
“The name of the foreign key column is the name of the referencing relationship field or property + “_” + the name of the referenced primary key column”
Partindo desta afirmação, vamos analisar a necessidade do JoinColumn.
Eu não crio o banco na mão, uso JPA2 e deixo o Hibernate cuidar disso, o código que postei é o que eu uso aqui e não há problemas com FK, cabe ao autor do tópico decidir se deixa o Hibernate cuidar de td ou se faz o banco na mão tendo que cuidar das FK.
Primeiramente obrigado pela ajuda, estou iniciando na tecnologia e algumas coisas ficam meio complexas para mim. Em relação ao comentado pelo Guevara, eu crio na mão, pois, estou conhecedo a tecnologia. Tens algum tutorial de como fazer com o JPA2?
Vou colocar como resolvido o tópico, mas, gostaria que você me indicasse algum material.