Ao realizar uma persistencia recebo a seguinte mensagemcom relação ao classe entity:
55 [http-8084-2] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
581 [http-8084-2] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
903 [http-8084-2] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
1221 [http-8084-2] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42P01
1221 [http-8084-2] ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: relation "hibernate_sequence" does not exist
Nao foi possivel Salvar o usuario :(could not get next sequence value :(
1223 [http-8084-2] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 25P02
1223 [http-8084-2] ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: current transaction is aborted, commands ignored until end of transaction block
Nao foi possivel Salvar o usuariocould not get next sequence value
Algo refere a “could not get next sequence value”
Acredito que deve ser no @GeneratedValue que não esta conseguindo gerar o número serial conforme a minha classe entity. Alguem tem alguma sugestão?
Segue a Classe entity Usuario
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.ifrr.entity;
import java.io.Serializable;
import javax.annotation.Generated;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author cristofe.rocha
*/
@Entity
@Table(name = "usuario")
@NamedQueries({
@NamedQuery(name = "Usuario.findAll", query = "SELECT u FROM Usuario u"),
@NamedQuery(name = "Usuario.findByAtivo", query = "SELECT u FROM Usuario u WHERE u.ativo = :ativo"),
@NamedQuery(name = "Usuario.findByPermissao", query = "SELECT u FROM Usuario u WHERE u.permissao = :permissao"),
@NamedQuery(name = "Usuario.findByPasswd", query = "SELECT u FROM Usuario u WHERE u.passwd = :passwd"),
@NamedQuery(name = "Usuario.findByLogin", query = "SELECT u FROM Usuario u WHERE u.login = :login"),
@NamedQuery(name = "Usuario.findByCodUsuario", query = "SELECT u FROM Usuario u WHERE u.codUsuario = :codUsuario"),
@NamedQuery(name = "Usuario.findByNome", query = "SELECT u FROM Usuario u WHERE u.nome = :nome")})
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "ativo")
private Integer ativo;
@Column(name = "permissao")
private Integer permissao;
@Column(name = "passwd")
private String passwd;
@Column(name = "login")
private String login;
@Id
@GeneratedValue
@Column(name = "cod_usuario")
private Integer codUsuario;
@Column(name = "nome")
private String nome;
public Usuario() {
}
public Usuario(Integer codUsuario) {
this.codUsuario = codUsuario;
}
public Integer getAtivo() {
return ativo;
}
public void setAtivo(Integer ativo) {
this.ativo = ativo;
}
public Integer getPermissao() {
return permissao;
}
public void setPermissao(Integer permissao) {
this.permissao = permissao;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public Integer getCodUsuario() {
return codUsuario;
}
public void setCodUsuario(Integer codUsuario) {
this.codUsuario = codUsuario;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public int hashCode() {
int hash = 0;
hash += (codUsuario != null ? codUsuario.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Usuario)) {
return false;
}
Usuario other = (Usuario) object;
if ((this.codUsuario == null && other.codUsuario != null) || (this.codUsuario != null && !this.codUsuario.equals(other.codUsuario))) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.ifrr.entity.Usuario[codUsuario=" + codUsuario + "]";
}
}
A tabela do meu Banco :
[code]
Table: usuario
– DROP TABLE usuario;
CREATE TABLE usuario
(
ativo integer,
permissao integer,
passwd text,
“login” character varying,
cod_usuario bigserial NOT NULL,
nome character(1),
CONSTRAINT cod_usuario PRIMARY KEY (cod_usuario)
)
WITH (
OIDS=FALSE,
autovacuum_enabled=true
);
ALTER TABLE usuario OWNER TO postgres;
GRANT ALL ON TABLE usuario TO public;
GRANT ALL ON TABLE usuario TO postgres;
GRANT SELECT(“login”), UPDATE(“login”), INSERT(“login”), REFERENCES(“login”) ON usuario TO public;[/code]