@GenericGenerator(name = sequenciador, strategy = increment) so esta gravando o Id
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
ManagerBean
@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;
}
}
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.
Curtidas 0
Respostas
Dyego Carmo
26/04/2010
Não dá nenhum erro ?
Poderia colar o codigo que estas utilizando para gravar ?
Poderia colar o codigo que estas utilizando para gravar ?
GOSTEI 0
Roberto Rodrigues.
26/04/2010
Não dá nenhum erro ?
Poderia colar o codigo que estas utilizando para gravar ?
Poderia colar o codigo que estas utilizando para gravar ?
GOSTEI 0
Roberto Rodrigues.
26/04/2010
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
CADSECRETARIADAO
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;
}
}
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");
}
}
GOSTEI 0
Roberto Rodrigues.
26/04/2010
Não dá nenhum erro ?
Poderia colar o codigo que estas utilizando para gravar ?
Poderia colar o codigo que estas utilizando para gravar ?
NÃO DA ERRO NENHUM COLOQUEI O CÓDIGO ULTILIZADO PRA GRAVAR NO BANCO ABAIXO.
GOSTEI 0
Dyego Carmo
26/04/2010
Olá
é uma pagina ou swing ?
Cola o codigo da VIEW tambem... pode estar lá o problema.
é uma pagina ou swing ?
Cola o codigo da VIEW tambem... pode estar lá o problema.
GOSTEI 0
Roberto Rodrigues.
26/04/2010
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>
GOSTEI 0
Dyego Carmo
26/04/2010
Necessito do Codigo do DAO
GOSTEI 0