Esse erro, na qual diz que to duplicando a chave primária tá ocorrendo na seguinte situação:
FILME_GENERO foi uma tabela criada pelo JPA quando defini ManyToMany em duas entidades. FILME e GENERO.
Na hora de cadastrar um filme com seus respectivos generos. o log mostra esse erro:
Error Code: 1062
Call: INSERT INTO FILME_GENERO (generos_ID, filmes_ID) VALUES (?, ?)
bind => [2 parameters bound]
Query: DataModifyQuery(name=“generos” sql=“INSERT INTO FILME_GENERO (generos_ID, filmes_ID) VALUES (?, ?)”)
O que pude entender é que generos_id e filmes_id da tabela filme_genero são chaves primárias, aí o que tá complicando é que generos_ID = 1 e filmes_ID = 1. daí o 1-1.
Como contorno esse problema de duas chaves primárias na mesma tabela? Lembrando que essa tabela é criada sozinha, tem que mexer em filme ou em genero, mas não sei o que modificar.
[code]@Entity
public class Genero implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToMany(mappedBy = "generos", cascade= CascadeType.ALL)
private List<Filme> filmes;
…
}
@Entity
public class Filme implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToMany(cascade = CascadeType.ALL)
private List<Genero> generos;
…
}[/code]
Me apeguei ao fato de Filme ter vários generos, genero tá em vários filmes =P Essas duas entidades geram FILME_GENERO com duas chaves primárias… enfim se alguém souber arrumar esse relacionamento zuado que fiz…