Eu fiz um pequeno script para popular minhas tabelas no postgres…até aki tudo bem, porém quando eu vou adicionar um novo valor na minha aplicacao web ocorre o seguinte erro :
CREATE SEQUENCE hibernate_sequence
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 2760
CACHE 1;
ALTER TABLE hibernate_sequence OWNER TO postgres;
T+
JuniorMaia
não sei na camada de persistência, mas no banco o teu atributo tem que ser Serial para auto-incrementar
T
ThaisGomes
O meu atributo é serial sim…
Por alguma razão a sequence não está atualizando…tavez seja porque eu inseri os ids na mão …
A
alissonvla
cara,
vc tem que anotar seu atributo id com as seguinte anotações @Id, @GeneratedValue
t+
wagnerfrancisco
ThaisGomes:
O meu atributo é serial sim…
Por alguma razão a sequence não está atualizando…tavez seja porque eu inseri os ids na mão …
Você não pode inserir na mão, tem que deixar ele usar o auto incremento. Você criou um objeto e setou o id e depois tentou salvar? Ou você inseriu registros no banco e preencheu o id?
T
ThaisGomes
Eu so coloquei à mão os ids no script…
T
ThaisGomes
Segue a classe.....
@Entity@Table@Component("materiais")publicclassMateriaisimplementsSerializable,Menuable{privatestaticfinallongserialVersionUID=-6689309046805642125L;publicstaticfinalIntegerMOVEL=1;publicstaticfinalIntegerUTENSILIO=2;publicstaticfinalIntegerFERRAMENTA=3;publicstaticfinalIntegerEPI=4;publicstaticfinalIntegerEPC=5;publicstaticfinalIntegerMATERIAL_DE_SERVICO=6;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@ColumnprivateIntegerid;@ColumnprivateStringcodMaterial;@ColumnprivateStringdescMaterial;@ColumnprivateIntegertipoMaterial;@ManyToOneprivateUnidadeMedidaunidadeMedida;//Getters an Setters
wagnerfrancisco
Lembre-se de atualizar a sequência no banco também então. Se a sequência começa de 1, mas você já inseriu um registro com id 1, deve garantir que o próximo número da sequência seja 2. No postgreSQL use a função setval para isto:
select setval('minha_sequencia', numero_do_id);
T
ThaisGomes
Muito obrigada wagnerfrancisco /o/
eu estava a procura desse bendito comando!!!
wagnerfrancisco
ThaisGomes:
Muito obrigada wagnerfrancisco /o/
eu estava a procura desse bendito comando!!!
De nada!
Você pode incluir ele no seu script também. Outra dica, se possível, é não informar o id no script, deixar o banco incrementar a sequência…
T
ThaisGomes
sim sim com certeza lembrarei de não colocar mas o id :D…e o comando já esta no meu script funcionando perfeitamente /o/