Hibernate jpa 4.3 não salva em duas tabelas
Ola, Pessoal
Estou com problema, estou tentado salvar em duas tabelas com Hibernate JPA e JSF sou novo em programação, onde fica o botao salva e a outra tabela fica todos os campos null nao sei o que pode estar acontecendo e ele salva em uma tabela apenas
Se alguém puder ajudar.
Obrigado
Segue o codigo
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
<h1 style="background-color:#00BFFF; color:#fff; text-align: center">CADASTRO ASSISTIDOS</h1>
<p:tabView dynamic="true" cache="true" effect="fold">
<p:tab title="Dados Cadastrais">
<h:form id="form1">
<p:messages id="messages" showDetail="true"/>
<h:panelGrid columns="1" cellpadding="3" style="margin-bottom:10px">
<h:outputLabel value="*Nome Completo: "/>
<p:inputText id="nome" value="#{mb.assistidos.nome}" requiredMessage="campo obrigatorio" label="nome" size="50"/>
<p:watermark for="nome" value="Entre com o nome"/>
<h:outputLabel value="*Nome da Mãe: "/>
<p:inputText id="nomeMae" value="#{mb.assistidos.nomeMae}" requiredMessage="campo obrigatorio" label="nomeMae" size="50"/>
<p:watermark for="nomeMae" value="Entre com o nome da Mãe"/>
<h:outputLabel value="*Email: "/>
<p:inputText id="email" value="#{mb.assistidos.email}" requiredMessage="campo obrigatorio" label="email" size="50" />
<p:watermark for="email" value="Entre com o email"/>
<p:outputLabel for="sexo" value="*Sexo:" />
<p:selectOneMenu id="sexo" value="#{mb.assistidos.sexo}" style="width:125px">
<f:selectItem itemLabel="Selecione" itemValue="" />
<f:selectItem itemLabel="Masculino" itemValue="Masculino" />
<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
</p:selectOneMenu>
<h:outputLabel value="*CPF: "/>
<p:inputText id="documento" value="#{mb.assistidos.documento}" requiredMessage="campo obrigatorio" label="documento" size="40"/>
<p:watermark for="documento" value="Entre com o CPF"/>
<h:outputLabel value="Telefone Fixo: "/>
<p:inputText id="telefone1" value="#{mb.assistidos.telefone1}" label="telefone1" size="30"/>
<p:watermark for="telefone1" value="Entre com telefone fixo"/>
<h:outputLabel value="*Telefone Celular: "/>
<p:inputText id="telefone2" value="#{mb.assistidos.telefone2}" requiredMessage="campo obrigatorio" label="telefone2" size="30"/>
<p:watermark for="telefone2" value="Entre com o celular"/>
<p:outputLabel for="dataNascimento" value="Data Nascimento: "/>
<p:calendar id="dataNascimento" value="#{mb.assistidos.dataNascimento}" locale="br" navigator="true" pattern="dd/MM/yyyy"/>
<p:commandButton value="Gravar" id="gravar" update="@(form1)@(form2)@(form3)" actionListener="#{mb.gravar}" ajax="true" styleClass="ui-priority-primary" />
</h:panelGrid>
</h:form>
</p:tab>
<p:tab title="Endereco">
<h:form id="form2">
<p:messages id="messages" showDetail="true"/>
<h:panelGrid columns="3" cellpadding="10" style="margin-bottom:10px">
<h:outputLabel value="*Logradouro: "/>
<p:inputText id="logradouro" value="#{mb.endereco.logradouro}" label="logradouro" requiredMessage="campo obrigatorio" size="60"/>
<p:watermark for="logradouro" value="Entre com a rua"/>
<h:outputLabel value="*Numero: "/>
<p:inputText id="numero" value="#{mb.endereco.numero}" label="numero" requiredMessage="campo obrigatorio" size="20"/>
<p:watermark for="numero" value="Entre com o numero"/>
<h:outputLabel value="Complemento: "/>
<p:inputText id="complemento" value="#{mb.endereco.complemento}" label="complemento" size="30"/>
<p:watermark for="complemento" value="Entre com o complemento"/>
<h:outputLabel value="*Bairro: "/>
<p:inputText id="bairro" value="#{mb.endereco.bairro}" label="bairro" requiredMessage="campo obrigatorio" size="30"/>
<p:watermark for="bairro" value="Entre com o bairro"/>
<h:outputLabel value="*Cidade: "/>
<p:inputText id="cidade" value="#{mb.endereco.cidade}" label="cidade" requiredMessage="campo obrigatorio" size="40"/>
<p:watermark for="cidade" value="Entre com a cidade" />
<h:outputLabel value="*Estado: "/>
<p:inputText id="estado" value="#{mb.endereco.estado}" label="estado" requiredMessage="campo obrigatorio" size="10"/>
<p:watermark for="estado" value="Estado xx "/>
<h:outputLabel value="*CEP: "/>
<p:inputText id="cep" value="#{mb.endereco.cep}" label="cep" requiredMessage="campo obrigatorio" size="10"/>
<p:watermark for="cep" value="cep xxxxx-xxx"/>
</h:panelGrid>
<p:growl></p:growl>
</h:form>
</p:tab>
<p:tab title="Consulta">
<h:form id="form3">
<p:dataTable value="#{mb.dtoAssistidosEnderecos}" var="linha" rows="3" paginator="true">
<p:column headerText="idAssistidos " filterBy="#{linha.idAssistidos}"><h:outputText value="#{linha.idAssistidos}"/></p:column>
<p:column headerText="Nome: " filterBy="#{linha.nome}"><h:outputText value="#{linha.nome}"/></p:column>
<p:column headerText="Nome da Mãe: "><h:outputText value="#{linha.nomeMae}"/></p:column>
<p:column headerText="Email: "><h:outputText value="#{linha.email}"/></p:column>
<p:column headerText="Sexo: "><h:outputText value="#{linha.sexo}"/></p:column>
<p:column headerText="Documento: "><h:outputText value="#{linha.documento}"/></p:column>
<p:column headerText="Telefone Fixo: "><h:outputText value="#{linha.telefone1}"/></p:column>
<p:column headerText="Telefone Celular: "><h:outputText value="#{linha.telefone2}"/></p:column>
<p:column headerText="Data Nascimento: "><h:outputText value="#{linha.dataNascimento}"/></p:column>
<p:column headerText="Logradouro: "><h:outputText value="#{linha.logradouro}"/></p:column>
<p:column headerText="Numero: "><h:outputText value="#{linha.numero}"/></p:column>
<p:column headerText="Complemento: "><h:outputText value="#{linha.complemento}"/></p:column>
<p:column headerText="Bairro "><h:outputText value="#{linha.bairro}"/></p:column>
<p:column headerText="Cidade "><h:outputText value="#{linha.cidade}"/></p:column>
<p:column headerText="Estado "><h:outputText value="#{linha.estado}"/></p:column>
<p:column headerText="CEP "><h:outputText value="#{linha.cep}"/></p:column>
</p:dataTable>
</h:form>
</p:tab>
</p:tabView>
</h:body>
</html>
package persistence;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import dto.DtoAssistidosEndereco;
import entity.Assistidos;
import entity.Endereco;
public class AssistidosDao {
Session session;
Transaction transaction;
Query query;
public void gravarDao(Assistidos a, Endereco e)throws Exception{
session=HibernateUtil.getSessionFactory().openSession();
transaction= sessi
Estou com problema, estou tentado salvar em duas tabelas com Hibernate JPA e JSF sou novo em programação, onde fica o botao salva e a outra tabela fica todos os campos null nao sei o que pode estar acontecendo e ele salva em uma tabela apenas
Se alguém puder ajudar.
Obrigado
Segue o codigo
codigo HTML
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
<h1 style="background-color:#00BFFF; color:#fff; text-align: center">CADASTRO ASSISTIDOS</h1>
<p:tabView dynamic="true" cache="true" effect="fold">
<p:tab title="Dados Cadastrais">
<h:form id="form1">
<p:messages id="messages" showDetail="true"/>
<h:panelGrid columns="1" cellpadding="3" style="margin-bottom:10px">
<h:outputLabel value="*Nome Completo: "/>
<p:inputText id="nome" value="#{mb.assistidos.nome}" requiredMessage="campo obrigatorio" label="nome" size="50"/>
<p:watermark for="nome" value="Entre com o nome"/>
<h:outputLabel value="*Nome da Mãe: "/>
<p:inputText id="nomeMae" value="#{mb.assistidos.nomeMae}" requiredMessage="campo obrigatorio" label="nomeMae" size="50"/>
<p:watermark for="nomeMae" value="Entre com o nome da Mãe"/>
<h:outputLabel value="*Email: "/>
<p:inputText id="email" value="#{mb.assistidos.email}" requiredMessage="campo obrigatorio" label="email" size="50" />
<p:watermark for="email" value="Entre com o email"/>
<p:outputLabel for="sexo" value="*Sexo:" />
<p:selectOneMenu id="sexo" value="#{mb.assistidos.sexo}" style="width:125px">
<f:selectItem itemLabel="Selecione" itemValue="" />
<f:selectItem itemLabel="Masculino" itemValue="Masculino" />
<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
</p:selectOneMenu>
<h:outputLabel value="*CPF: "/>
<p:inputText id="documento" value="#{mb.assistidos.documento}" requiredMessage="campo obrigatorio" label="documento" size="40"/>
<p:watermark for="documento" value="Entre com o CPF"/>
<h:outputLabel value="Telefone Fixo: "/>
<p:inputText id="telefone1" value="#{mb.assistidos.telefone1}" label="telefone1" size="30"/>
<p:watermark for="telefone1" value="Entre com telefone fixo"/>
<h:outputLabel value="*Telefone Celular: "/>
<p:inputText id="telefone2" value="#{mb.assistidos.telefone2}" requiredMessage="campo obrigatorio" label="telefone2" size="30"/>
<p:watermark for="telefone2" value="Entre com o celular"/>
<p:outputLabel for="dataNascimento" value="Data Nascimento: "/>
<p:calendar id="dataNascimento" value="#{mb.assistidos.dataNascimento}" locale="br" navigator="true" pattern="dd/MM/yyyy"/>
<p:commandButton value="Gravar" id="gravar" update="@(form1)@(form2)@(form3)" actionListener="#{mb.gravar}" ajax="true" styleClass="ui-priority-primary" />
</h:panelGrid>
</h:form>
</p:tab>
<p:tab title="Endereco">
<h:form id="form2">
<p:messages id="messages" showDetail="true"/>
<h:panelGrid columns="3" cellpadding="10" style="margin-bottom:10px">
<h:outputLabel value="*Logradouro: "/>
<p:inputText id="logradouro" value="#{mb.endereco.logradouro}" label="logradouro" requiredMessage="campo obrigatorio" size="60"/>
<p:watermark for="logradouro" value="Entre com a rua"/>
<h:outputLabel value="*Numero: "/>
<p:inputText id="numero" value="#{mb.endereco.numero}" label="numero" requiredMessage="campo obrigatorio" size="20"/>
<p:watermark for="numero" value="Entre com o numero"/>
<h:outputLabel value="Complemento: "/>
<p:inputText id="complemento" value="#{mb.endereco.complemento}" label="complemento" size="30"/>
<p:watermark for="complemento" value="Entre com o complemento"/>
<h:outputLabel value="*Bairro: "/>
<p:inputText id="bairro" value="#{mb.endereco.bairro}" label="bairro" requiredMessage="campo obrigatorio" size="30"/>
<p:watermark for="bairro" value="Entre com o bairro"/>
<h:outputLabel value="*Cidade: "/>
<p:inputText id="cidade" value="#{mb.endereco.cidade}" label="cidade" requiredMessage="campo obrigatorio" size="40"/>
<p:watermark for="cidade" value="Entre com a cidade" />
<h:outputLabel value="*Estado: "/>
<p:inputText id="estado" value="#{mb.endereco.estado}" label="estado" requiredMessage="campo obrigatorio" size="10"/>
<p:watermark for="estado" value="Estado xx "/>
<h:outputLabel value="*CEP: "/>
<p:inputText id="cep" value="#{mb.endereco.cep}" label="cep" requiredMessage="campo obrigatorio" size="10"/>
<p:watermark for="cep" value="cep xxxxx-xxx"/>
</h:panelGrid>
<p:growl></p:growl>
</h:form>
</p:tab>
<p:tab title="Consulta">
<h:form id="form3">
<p:dataTable value="#{mb.dtoAssistidosEnderecos}" var="linha" rows="3" paginator="true">
<p:column headerText="idAssistidos " filterBy="#{linha.idAssistidos}"><h:outputText value="#{linha.idAssistidos}"/></p:column>
<p:column headerText="Nome: " filterBy="#{linha.nome}"><h:outputText value="#{linha.nome}"/></p:column>
<p:column headerText="Nome da Mãe: "><h:outputText value="#{linha.nomeMae}"/></p:column>
<p:column headerText="Email: "><h:outputText value="#{linha.email}"/></p:column>
<p:column headerText="Sexo: "><h:outputText value="#{linha.sexo}"/></p:column>
<p:column headerText="Documento: "><h:outputText value="#{linha.documento}"/></p:column>
<p:column headerText="Telefone Fixo: "><h:outputText value="#{linha.telefone1}"/></p:column>
<p:column headerText="Telefone Celular: "><h:outputText value="#{linha.telefone2}"/></p:column>
<p:column headerText="Data Nascimento: "><h:outputText value="#{linha.dataNascimento}"/></p:column>
<p:column headerText="Logradouro: "><h:outputText value="#{linha.logradouro}"/></p:column>
<p:column headerText="Numero: "><h:outputText value="#{linha.numero}"/></p:column>
<p:column headerText="Complemento: "><h:outputText value="#{linha.complemento}"/></p:column>
<p:column headerText="Bairro "><h:outputText value="#{linha.bairro}"/></p:column>
<p:column headerText="Cidade "><h:outputText value="#{linha.cidade}"/></p:column>
<p:column headerText="Estado "><h:outputText value="#{linha.estado}"/></p:column>
<p:column headerText="CEP "><h:outputText value="#{linha.cep}"/></p:column>
</p:dataTable>
</h:form>
</p:tab>
</p:tabView>
</h:body>
</html>
package persistence;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import dto.DtoAssistidosEndereco;
import entity.Assistidos;
import entity.Endereco;
public class AssistidosDao {
Session session;
Transaction transaction;
Query query;
public void gravarDao(Assistidos a, Endereco e)throws Exception{
session=HibernateUtil.getSessionFactory().openSession();
transaction= sessi
Anderson Rodrigues
Curtidas 0
Respostas
Anderson Rodrigues
21/02/2018
Complementando com DAO e ManagerBean
<br />
<br />
package persistence;<br /> <br /> import java.util.List;<br /> <br /> import org.hibernate.Query;<br /> import org.hibernate.Session;<br /> import org.hibernate.Transaction;<br /> <br /> import dto.DtoAssistidosEndereco;<br /> import entity.Assistidos;<br /> import entity.Endereco;<br /> <br /> public class AssistidosDao {<br /> <br /> Session session;<br /> Transaction transaction;<br /> Query query;<br /> <br /> public void gravarDao(Assistidos a, Endereco e)throws Exception{<br /> <br /> session=HibernateUtil.getSessionFactory().openSession();<br /> transaction= session.getTransaction();<br /> transaction.begin();<br /> session.save(a); <br /> e.setAssistidos(a);<br /> session.save(e);<br /> transaction.commit();<br /> session.close();<br /> <br /> }<br /> <br /> <br /> <br /> public void excluirDao(Assistidos a, Endereco e)throws Exception{<br /> <br /> session=HibernateUtil.getSessionFactory().openSession();<br /> transaction=session.getTransaction();<br /> transaction.begin();<br /> session.delete(e);<br /> e.setAssistidos(a);<br /> transaction.commit();<br /> if (session !=null) {<br /> session.close();<br /> <br /> }<br /> }<br /> <br /> public List<DtoAssistidosEndereco> findAll(){<br /> <br /> session=HibernateUtil.getSessionFactory().openSession();<br /> Query query =session.createQuery("from Vfundacao");<br /> List<DtoAssistidosEndereco> lst=query.list();<br /> session.close();<br /> return lst;<br /> }<br /> }<br />
<br />
package manager;<br /> <br /> import java.util.List;<br /> <br /> import javax.faces.application.FacesMessage;<br /> import javax.faces.bean.ManagedBean;<br /> import javax.faces.bean.RequestScoped;<br /> import javax.faces.context.FacesContext;<br /> <br /> import dto.DtoAssistidosEndereco;<br /> import entity.Assistidos;<br /> import entity.Endereco;<br /> import persistence.AssistidosDao;<br /> <br /> @ManagedBean(name="mb")<br /> @RequestScoped<br /> public class ManagerBean {<br /> <br /> private Assistidos assistidos;<br /> private Endereco endereco;<br /> private AssistidosDao dao;<br /> private List<DtoAssistidosEndereco> dtoAssistidosEnderecos;<br /> <br /> <br /> public ManagerBean() {<br /> dao = new AssistidosDao();<br /> assistidos= new Assistidos();<br /> endereco = new Endereco();<br /> }<br /> <br /> public Endereco getEndereco() {<br /> return endereco;<br /> }<br /> <br /> public void setEndereco(Endereco endereco) {<br /> this.endereco = endereco;<br /> }<br /> <br /> public Assistidos getAssistidos() {<br /> return assistidos;<br /> }<br /> <br /> public void setAssistidos(Assistidos assistidos) {<br /> this.assistidos = assistidos;<br /> }<br /> <br /> public AssistidosDao getDao() {<br /> return dao;<br /> }<br /> <br /> public void setDao(AssistidosDao dao) {<br /> this.dao = dao;<br /> }<br /> <br /> public List<DtoAssistidosEndereco> getDtoAssistidosEnderecos() {<br /> try {<br /> if (dao == null) {<br /> dao= new AssistidosDao();<br /> }<br /> dtoAssistidosEnderecos = new AssistidosDao().findAll();<br /> } catch (Exception ex) {<br /> ex.printStackTrace();<br /> }<br /> <br /> return dtoAssistidosEnderecos;<br /> <br /> }<br /> <br /> public void setDtoAssistidosEnderecos(List<DtoAssistidosEndereco> dtoAssistidosEnderecos) {<br /> this.dtoAssistidosEnderecos = dtoAssistidosEnderecos;<br /> }<br /> <br /> public void gravar() {<br /> FacesContext fc = FacesContext.getCurrentInstance();<br /> try {<br /> if (dao==null) {<br /> dao = new AssistidosDao();<br /> }<br /> dao.gravarDao(assistidos, endereco);<br /> fc.addMessage(null, new FacesMessage("Dados Gravados"));<br /> } catch (Exception ex) {<br /> fc.addMessage(null, new FacesMessage("Error"+ex.getMessage()));<br /> }<br /> }<br /> <br /> public void excluir() {<br /> FacesContext fc = FacesContext.getCurrentInstance();<br /> try {<br /> if (dao==null) {<br /> dao=new AssistidosDao();<br /> }<br /> dao.excluirDao(assistidos, endereco);<br /> fc.addMessage(null, new FacesMessage("Dados Excluidos"));<br /> } catch (Exception ex) {<br /> fc.addMessage(null, new FacesMessage());<br /> }<br /> }<br /> <br /> }<br />
GOSTEI 0