Bom dia galera.
Estou com uma tremendo problema, criei uma tabela associativa que terá dois campos, o primeiro vai ser o ID da tabela "registrarPlanejamento" e o outro da tabela "Pessoa", mais quando eu cadastro o primeiro fica tudo certo, o problema acontece quando irei salvar o segundo registro, aparece o seguinte erro:
java.sql.BatchUpdateException: Entrada em lote 0 insert into public.pessoa_registrarPlanejamento (idRegistrarPlanejamento, idPessoa) values (2, 1) foi abortada. Chame getNextException para ver a causa.
Eu acho que não está aceitando dois ID's iguais da tabela Pessoa mesmo sendo em registros diferentes, aqui embaixo ta o codigo das duas tabelas:
Da classe RegistrarPlanejamento:
@Entity
@Component
public class RegistrarPlanejamento {
@Id
@SequenceGenerator(name = "sequence_registrarplanejamento", sequenceName = "sequence_registrarplanejamento", initialValue = 1, allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence_registrarplanejamento")
private Long id;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="pessoa_registrarPlanejamento", joinColumns=@JoinColumn(name="idRegistrarPlanejamento"),
inverseJoinColumns=@JoinColumn(name="idPessoa"))
private Collection<Pessoa> pessoa;
}
Da Classe Pessoa:
@Entity
@Component
public class Pessoa {
@Id
@SequenceGenerator(name = "sequence_pessoa", sequenceName = "sequence_pessoa", initialValue = 1, allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence_pessoa")
private Long id;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="pessoa_registrarPlanejamento", joinColumns=@JoinColumn(name="idPessoa"),
inverseJoinColumns=@JoinColumn(name="idRegistrarPlanejamento"))
private Collection<Pessoa> pessoa;
}
Alguém pode me ajudar??
Abraços.