[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Erro no hibernate e postgresql  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
frederico10
Equipe

Membro desde: 01/10/2007 17:25:49
Mensagens: 6
Offline

Nunca mexi com postgresql e estou estudando o framework.
E o erro é o seguinte:

Hibernate operation: could not get next sequence value; bad SQL grammar [select nextval ('sq_contato')]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "sq_contato" does not exist
ERROR: relation "sq_contato" does not exist


se alguém puder me ajudar ficarei grato
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Frederico,

No banco não existe essa sequence, você pode criar ela no banco ou então mudar o mapeamento do atributo ID para:
Code:
 @Id
 @GeneratedValue(strategy=GenerationType.AUTO)
 


A[]s

Vinícius O. Janones
[Email]
frederico10
Equipe

Membro desde: 01/10/2007 17:25:49
Mensagens: 6
Offline

minha classe de entidade:

package br.com.agenda.modelo;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Contato {

private Integer id;
private String nome;
private String email;
private Date dataNascimento;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public Date getDataNascimento() {
return dataNascimento;
}

public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}

}

e o erro:

Hibernate operation: could not get next sequence value; bad SQL grammar [select nextval ('hibernate_sequence')]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist
ERROR: relation "hibernate_sequence" does not exist


Não sei como resolver ...
[]´s
Fred
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Primeiro Seja Bem vindo ao fórum.

Segundo vamos lá..
ehehe

Seguinte.. vá ao seu banco de dados e crie um sequence generator de nome

sq_contato por ex.

Em seguida modifique o seu bean da seguinte maneira:

Code:
  @Entity
 @SequenceGenerator(name = "sq_contato", sequenceName = "sq_contato")
 public class Contato {
 
 private Integer id;
 private String nome;
 private String email;
 private Date dataNascimento;
 
 @Id
 @GeneratedValue(strategy=GenerationType.AUTO, generator="sq_contato")
 public Integer getId() {
 return id;
 }
 
 public void setId(Integer id) {
 this.id = id;
 }
 
 public String getNome() {
 return nome;
 }
 
 public void setNome(String nome) {
 this.nome = nome;
 }
 
 public String getEmail() {
 return email;
 }
 
 public void setEmail(String email) {
 this.email = email;
 }
 
 public Date getDataNascimento() {
 return dataNascimento;
 }
 
 public void setDataNascimento(Date dataNascimento) {
 this.dataNascimento = dataNascimento;
 }
 
 } 
 


[]'s

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
frederico10
Equipe

Membro desde: 01/10/2007 17:25:49
Mensagens: 6
Offline

Pô valeu cara ... funcionou ... mas esse sequencial é muito ruim ... hehehehe ... toda vez que é executado mesmo que não adicione ele incrementa um. Mas beleza, agora tá funcionando posso continuar os trabalhos experimentais, estou gostando o framework ... Parabéns!
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

rsrs...

mais este é o funcionamento do sequence generator..

ele chama o nextVal('nomedosequence') ai enfia no lugar da pk...
Mais se você não gosta disso, experimenta usar o campo do tipo serial, que ele já gera o sequence automaticamente e você o verá como auto-generator, e no NEO você não precisa alterar nada!

Obrigado...

Qualquer dúvida poste aquii.

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
leogdiniz
Equipe

Membro desde: 07/11/2007 18:16:15
Mensagens: 6
Offline

Nossa.... ta meio tarde mas antes tarde do que nunca né!? rsrs
Galera, o sequenceGenerator e o generatedValue não são ruins não

O erro acima provavelmente está ocorrendo por que no jsp de entrada não
deve ter um property com o id do bean.
Se este property não estiver presente, o NEO apaga o registro e cria outro. Assim, cada vez que o registro é atualizado, a sequence é "rodada".

Isso ocorre geralmente quando ha uma relação de 1..n e o property do id não é colocado no detalhe.

Espero que tenha esclarecido!

Vlw!
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team