Fórum @GenericGenerator(name = "sequenciador", strategy = "increment") so esta gravando o Id #376360

26/04/2010

0

Boa tarde galera, criei um gerador sequencial generic na minha entidade esta incrementando da forma que eu quero porem na minha página de cadastro eu digito (nome, data e etc) e clico no buttom "confirmar" ele so esta gravando o Id o que devo fazer pra gravar o restante ou a linha toda no banco postgres?   Entidade  
@Entity
@Table(name = "cadsecretaria")
public class CadastrarSecretaria implements java.io.Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "codigosecretaria")
    @GenericGenerator(name = "sequenciador", strategy = "increment")
    @GeneratedValue(generator = "sequenciador")
    private Integer codigosecretaria;
    @Column(name = "nome")
    private String nome;
    @Column(name = "status")
    private String status;
    @Column(name = "codoperinc")
    private Integer codoperinc;
    @Temporal(javax.persistence.TemporalType.DATE)
    @Column(name = "datainclusao")
    private Date datainclusao;
    @Column(name = "codoperalt")
    private Integer codoperalt;
    @Temporal(javax.persistence.TemporalType.DATE)
    @Column(name = "dataalteracao")
    private Date dataalteracao;
    @OneToMany(mappedBy = "secretaria", fetch = FetchType.LAZY)
    private List<CadastrarSolicitante> cadastrarSolicitante;
    @OneToMany(mappedBy = "sectecnico", fetch = FetchType.LAZY)
    private List<CadastrarTecnico> cadastrarTecnico;
    @OneToMany(mappedBy = "cadSecretaria", fetch = FetchType.LAZY)
    private List<CadastrarEquipamento> cadastrarEquipamento;
    public List<CadastrarEquipamento> getCadastrarEquipamento() {
        return cadastrarEquipamento;
    }
    public void setCadastrarEquipamento(List<CadastrarEquipamento> cadastrarEquipamento) {
        this.cadastrarEquipamento = cadastrarEquipamento;
    }
    public List<CadastrarSolicitante> getCadastrarSolicitante() {
        return cadastrarSolicitante;
    }
    public void setCadastrarSolicitante(List<CadastrarSolicitante> cadastrarSolicitante) {
        this.cadastrarSolicitante = cadastrarSolicitante;
    }
    public List<CadastrarTecnico> getCadastrarTecnico() {
        return cadastrarTecnico;
    }
    public void setCadastrarTecnico(List<CadastrarTecnico> cadastrarTecnico) {
        this.cadastrarTecnico = cadastrarTecnico;
    }
    public Integer getCodigosecretaria() {
        return codigosecretaria;
    }
    public void setCodigosecretaria(Integer codigosecretaria) {
        this.codigosecretaria = codigosecretaria;
    }
    public Integer getCodoperalt() {
        return codoperalt;
    }
    public void setCodoperalt(Integer codoperalt) {
        this.codoperalt = codoperalt;
    }
    public Integer getCodoperinc() {
        return codoperinc;
    }
    public void setCodoperinc(Integer codoperinc) {
        this.codoperinc = codoperinc;
    }
    public Date getDatainclusao() {
        return datainclusao;
    }
    public void setDatainclusao(Date datainclusao) {
        this.datainclusao = datainclusao;
    }
      public Date getDataalteracao() {
     return dataalteracao;
     }
     public void setDataalteracao(Date dataalteracao) {
     this.dataalteracao = dataalteracao;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final CadastrarSecretaria other = (CadastrarSecretaria) obj;
        if (this.codigosecretaria != other.codigosecretaria && (this.codigosecretaria == null || !this.codigosecretaria.equals(other.codigosecretaria))) {
            return false;
        }
        return true;
    }
    @Override
    public int hashCode() {
        int hash = 3;
        hash = 17 * hash + (this.codigosecretaria != null ? this.codigosecretaria.hashCode() : 0);
        return hash;
    }
}
 
  ManagerBean
import java.util.List;
import secretaria.dao.CadSecretariaDAO;
import secretaria.entidade.CadastrarSecretaria;
public class Secretaria {
    private List<CadastrarSecretaria> cachedCadSecretarias = null;
    private CadSecretariaDAO cad = new CadSecretariaDAO();
    private CadastrarSecretaria selectedSecretaria;
    public List<CadastrarSecretaria> getCachedCadSecretaria() {
        if (cachedCadSecretarias == null){
            cachedCadSecretarias = cad.getCadSecretarias();
        }
        return cachedCadSecretarias;
    }
     public String doConfirmaCadSecretaria(){
        selectedSecretaria = new CadastrarSecretaria();
        return "NovoUsuario";
    }
     public String finishConfirmaCadSecretaria(){
       cad.addCadastrarSecretaria(selectedSecretaria);
       cachedCadSecretarias = null;
       return "ListCadSecretaria";
       
    }
     public CadastrarSecretaria getSelectedSecretaria() {
        return selectedSecretaria;
    }
     public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
        this.selectedSecretaria = selectedSecretaria;
    }

}
  
Roberto Rodrigues.

Roberto Rodrigues.

Responder

Posts

27/04/2010

Dyego Carmo

Não dá nenhum erro ?

Poderia colar o codigo que estas utilizando para gravar ?

Responder

Gostei + 0

27/04/2010

Roberto Rodrigues.

Não dá nenhum erro ?

Poderia colar o codigo que estas utilizando para gravar ?

Responder

Gostei + 0

27/04/2010

Roberto Rodrigues.

CÓDIGO ULTILIZADO PRA GRAVAR NO BANCO DE DADOS CONFORME SOLICITADO DYEGO, ESTOU ULTILIZANDO O POSTGRES E SEGUINDO SUAS AULAS  (APLICAÇÃO COM HIBERNATE).   HIBERNATE UTIL
 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
    private static final long serialVersionUID = 1L;
    
    private static HibernateUtil me;
    private SessionFactory sessionFactory;
    private HibernateUtil() {
        sessionFactory = new AnnotationConfiguration()
                .setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect")
                .setProperty("hibernate.connection.driver_class", "org.postgresql.Driver")
                .setProperty("hibernate.connection.url", "jdbc:postgresql://localhost:5432/secretarias")
                .setProperty("hibernate.connection.password", "post")
                .setProperty("hibernate.connection.username", "postgres")
                .setProperty("hibernate.hbm2ddl.auto", "none")
                .setProperty("hibernate.show_sql", "true")
                .setProperty("hibernate.format_sql", "true")
                .setProperty("hibernate.c3p0.acquire_incement", "1")
                .setProperty("hibernate.c3p0.idle_test_period", "100")
                .setProperty("hibernate.c3p0.max_size", "10")
                .setProperty("hibernate.c3p0.max_statements", "0")
                .setProperty("hibernate.c3p0.min_size", "5")
                .setProperty("hibernate.c3p0.timeout", "100")
                .setProperty("transaction.factory_class","org.hibernate.transaction.JDBCTransactionFactory")
                .addAnnotatedClass(AbrirChamado.class)
                .addAnnotatedClass(CadastrarEquipamento.class)
                .addAnnotatedClass(CadastrarSecretaria.class)
                .addAnnotatedClass(CadastrarSolicitante.class)
                .addAnnotatedClass(CadastrarTecnico.class)
                .addAnnotatedClass(ControleEquipamento.class)
                .addAnnotatedClass(OrdemServico.class)
                .addAnnotatedClass(Perifericos.class)
                .addAnnotatedClass(TipoManutencao.class)
                .buildSessionFactory();
    }
    public Session getSession() {
        Session toReturn = sessionFactory.openSession();
        toReturn.beginTransaction().commit();
        return toReturn;
    }
    public static HibernateUtil getInstance() {
        if (me == null) {
            me = new HibernateUtil();
        }
        return me;
    }
}
 
 
 import java.io.Serializable;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import secretaria.entidade.HibernateUtil;
public abstract class GenericDAO {
     private static final long serialVersionUID = 1L;
    
    protected Session getSession() {
        return HibernateUtil.getInstance().getSession();
    }
    protected void saveOrUpadatePojo(Serializable pojo) {
        Session ses = getSession();     
        ses.saveOrUpdate(pojo);
        ses.beginTransaction().commit();
        ses.close();
    }
    protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable key) {
        Session ses = getSession();
        Serializable toReturn = (Serializable) ses.get(classToSearch, key);
        //ses.getTransaction().commit();
        ses.beginTransaction().commit();
        ses.close();
        return (T) toReturn;
    }
    protected void removePojo(Serializable pojoToRemote) {
        Session ses = getSession();
        ses.delete(pojoToRemote);
        ses.beginTransaction().commit();
        ses.getTransaction().commit();
        ses.close();
    }
    protected Serializable getPurePojo(String query, Object... params) {
        Session ses = getSession();
        Query qr = ses.createQuery(query);
        for (int i = 1; i <= params.length; i++) {
            qr.setParameter(1, params[i - 1]);
        }
        Object toReturn = qr.uniqueResult();
        ses.beginTransaction().commit();
        //ses.getTransaction().commit();
        ses.close();
        return (Serializable) toReturn;
    }
    protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... params) {
        Session ses = getSession();
        Query qr = ses.createQuery(query);
        for (int i = 1; i <= params.length; i++) {
            qr.setParameter(1, params[i - 1]);
        }
        @SuppressWarnings("unchecked")
        List<T> toReturn = qr.list();
        ses.beginTransaction().commit();
        //ses.getTransaction().commit();
        ses.close();
        return toReturn;
    }
}
 
  CADSECRETARIADAO
import java.util.List;
import org.hibernate.Session;
import secretaria.entidade.CadastrarSecretaria;
public class CadSecretariaDAO extends GenericDAO {
    private static final long serialVersionUID = 1L;
   private Session session;
  public CadSecretariaDAO(Session session) {
    this.session = session;
    }
    public CadSecretariaDAO() {
    this.session = getSession();
    }
    public int addCadastrarSecretaria(CadastrarSecretaria cad) {
    saveOrUpadatePojo(cad);
    return cad.getCodigosecretaria();
    
    }
    public void removeCadastrarSecretaria(CadastrarSecretaria cad) {
    removePojo(cad);
    }
    public void upadateCadastrarSecretaria(CadastrarSecretaria cad) {
    saveOrUpadatePojo(cad);
    }
    public CadastrarSecretaria getCadastrarSecretaria(Integer codigosecretaria){
    CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
    return cad;
    }
    public List<CadastrarSecretaria> getCadSecretarias(){
    return getPureList(CadastrarSecretaria.class,"from CadastrarSecretaria cad");
    }
}
 
Responder

Gostei + 0

27/04/2010

Roberto Rodrigues.

Não dá nenhum erro ?

Poderia colar o codigo que estas utilizando para gravar ?

NÃO DA ERRO NENHUM COLOQUEI O CÓDIGO ULTILIZADO PRA GRAVAR NO BANCO ABAIXO.
Responder

Gostei + 0

29/04/2010

Dyego Carmo

Olá

é uma pagina ou swing ?

Cola o codigo da VIEW tambem... pode estar lá o problema.

Responder

Gostei + 0

29/04/2010

Roberto Rodrigues.

Olá Dyego     É uma página JSF COM FACELETS segue o código da view conforme a sua solicitação:  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Cadastrar Secretarias</title>
    </head>
    <body title="Cadastrar Secretarias" style="background-color: green">
        <h:panelGrid columns="6">
            <rich:panel>
                <f:facet name="header">
                    <h:outputText value="CADASTROS SECRETARIAS"/>
                </f:facet>
                <a4j:form ajaxSubmit="true" reRender="name">
                    <h:inputText id="label" label="nome" size="10" style="width:auto"/>
                    <a4j:commandButton id="incluir" value="Incluir" />
                    <a4j:commandButton id="alterar" value="Alterar" />
                    <a4j:commandButton id="deletar" value="Deletar"/>
                    <a4j:commandButton id="consultar" value="Consultar" />
                    <a4j:commandButton id="confirmar" value="Confirmar" action="#{Secretaria.finishConfirmaCadSecretaria}"/>
                    <a4j:commandButton id="cancelar" action="ListCadSecretaria" value="Cancelar" />
                    <br/>
                </a4j:form><br></br>
                <h:form><br/>
                    Nome:<h:inputText value="#{Secretaria.selectedSecretaria.nome}"/><br/>
                    Cod Op Inicial: <h:inputText value="#{Secretaria.selectedSecretaria.codoperinc}"/><br/>
                    Data Inclusão:<rich:calendar value="#{Secretaria.selectedSecretaria.datainclusao}" datePattern="dd/MM/yy"/><br/>
                    Status <h:inputText value="#{Secretaria.selectedSecretaria.status}"/>
                    Cod Op Alteração: <h:inputText value="#{Secretaria.selectedSecretaria.codoperalt}"/><br/>
                </h:form>
            </rich:panel>
        </h:panelGrid>
    </body>
</html>




Responder

Gostei + 0

30/04/2010

Dyego Carmo

Necessito do Codigo do DAO

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar