domingo, 5 de abril de 2009

[java-br] Hibernate x Annotations x Postgresql: Sequence incrementa errado

·

Olá pessoal,

Está acontecendo um problema estranho sequence generator, está incrementando de 50 em 50 ao invés de 1 em 1. Segue o código:
*** SEQUENCE ***
CREATE SEQUENCE seq_usuario
INCREMENT 1
MINVALUE 1
MAXVALUE 9999999999
START 8
CACHE 1;
...Este é o estado atual do sequence extraído do postgres, gerou o código 400, no mbean.
*** MAPEAMENTO ***
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

@Entity
public class Usuario {
@Id
@SequenceGenerator(name="SEQ_USUARIO",sequenceName="SEQ_USUARIO")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_USUARIO")
@Column(name="ID_USUARIO")
private Integer id;
@Column(name = "LOGIN")
private String login;
@Column(name = "PASSWORD")
private String password;
@Column(name = "EMAIL")
private String email;

public Usuario(){

}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}
(...)
*** hibernate.cfg.xml ***
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/dbnome</property>
<property name="hibernate.connection.password">dbusuario</property>
<property name="hibernate.connection.username">dbsenha</property>
<mapping class="com.mts.samds.model.Usuario"/>
</session-factory>
</hibernate-configuration>

*** MANAGED BEAN ***
public class UsuarioMB {
private DaoFactory factory;
private Usuario usuario;
private Dao<Usuario> dao;

public UsuarioMB() {
this.usuario = new Usuario();
this.factory = new DaoFactory();
this.dao = factory.getUsuarioDao();

}
[...]
public void saveUsuario() {
try {
if (usuario.getId() == 0) {
factory.beginTransaction();
dao.adiciona(usuario);
factory.commit();
factory.close();

FacesMessage msgs = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Registro Salvo com Sucesso.","Registro Salvo com Sucesso.");
FacesContext.getCurrentInstance().addMessage(null, msgs);

} else {
factory.beginTransaction();
dao.atualiza(usuario);
factory.commit();
factory.close();
}
} catch (Exception e) {
FacesMessage msgs = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Erro ao salvar Usuário",e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, msgs);
}
}
[...]
Agradeço desde já a atenção.

__._,_.___
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
Atividade nos últimos dias
Visite seu Grupo
Yahoo! Mail

Conecte-se ao mundo

Proteção anti-spam

Muito mais espaço

Yahoo! Barra

Instale grátis

Buscar sites na web

Checar seus e-mails .

Yahoo! Grupos

Crie seu próprio grupo

A melhor forma de comunicação

.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog