Ola, estou com um problema referente a primary key com banco de dados Firebird.
Ao inserir o primeiro registro no banco, e executado perfeitamente a inclusao no banco.
Ao tentar colocar o segundo registro temos a mensagem abaixo:
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544665. violation of PRIMARY or UNIQUE KEY constraint “INTEG_750” on table "FUNCIONARIO"
at org.firebirdsql.jdbc.AbstractPreparedStatement.internalExecute(AbstractPreparedStatement.java:730)
at org.firebirdsql.jdbc.AbstractPreparedStatement.executeUpdate(AbstractPreparedStatement.java:190)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)
A Classe esta da seguinte forma:
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Funcionario
{
@Id
[b]@GeneratedValue [/b]
// ja tentei tambem da seguinte forma @GeneratedValue(strategy = GenerationType.SEQUENCE) ou IDENTITY
// Tentei tambem definir um generrator conforme abaixo:
// @SequenceGenerator(name = "GEN", sequenceName = "NOME_DO_GENERATOR_DO_BANCO")
// @GeneratedValue(strategy = GenerationType.AUTO, generator = "GEN")
private Long id;
private String nome;
private String usuario;
private String senha;
private String email;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
private Endereco endereco;
@ManyToMany
private List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();
public List<Fornecedor> getFornecedores()
{
return fornecedores;
}
}
Conforme citado as tentativa, todas sem sucesso sempre ocasionando o mesmo erro.
Estou usando Hibernate 3.3 com Annotation, ja fiz algumas pesquisas e já vi que e algo referente a generator ou sequence. Resumindo e uma particularidade do banco "pelo menos e o que acho ", que no entando diante de inumeras tentativas e testes diferenciados ainda não consegui resolver.
Se alguem poder ajudar agradeço.
Abraço a todos…