Chave primaria BIGINT no Hibernate annotations. Como faço a anotação?

4 respostas
W

Olá pessoal,

Tenho a tabela funcionario abaixo:

CREATE TABLE  `funcionario` (
  `drt_funcionario` bigint(20) unsigned NOT NULL,
  `nome` varchar(100) NOT NULL,
  `senha` varchar(45) NOT NULL,
  PRIMARY KEY  (`drt_funcionario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

e a classe Funcionario agora:

import com.sun.msv.datatype.xsd.IntType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.*;
import javax.persistence.Table;

@Entity
@Table(name="funcionario")
public class Funcionario implements java.io.Serializable {
    
    private int drt;
    private String nome;
    private String senha;
    
    
    /** Creates a new instance of Funcionario */
    public Funcionario() {
    }

    public int getDrt() {
        return drt;
    }
    
    public void setDrt(int drt) {
        this.drt = drt;
    }
    
    public String getNome() {
        return nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public String getSenha() {
        return senha;
    }
    
    public void setSenha(String senha) {
        this.senha = senha;
    }
    
}

Como eu faço a anotação para a chave primária que é INT, mas não é sequencial?

Grato.
Wallfox

4 Respostas

robson_vs

vc vai precisar de usar a anotação @Id para sua chave primaria

W

Mas se eu coloco @id o SQl criado pelo Hibernate é o seguinte:
Hibernate: insert into Funcionario (nome, senha) values (?, ?)

E ai não insere.

W

ops!! funcionou!

R

Favor postar a solução que você encontrou, para que quando outras pessoas tiverem o mesmo problema encontrem mais facilmente a solução.

Criado 8 de fevereiro de 2007
Ultima resposta 8 de fev. de 2007
Respostas 4
Participantes 3