Ola, Pessoal
Estou com problema, estou tentado salvar em duas tabelas com Hibernate JPA e JSF sou novo em programação estou tentado JPQL e nao sei o que pode estar acontecendo e ele salva em uma tabela apenas
Se alguém puder ajudar.
Obrigado
Segue o codigo
fev 19, 2018 5:00:45 PM org.apache.catalina.core.StandardContext reload
INFORMAÇÕES: Reloading Context with name [/FMarieta] has started
fev 19, 2018 5:00:45 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
ADVERTÊNCIA: The web application [FMarieta] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
fev 19, 2018 5:00:45 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
ADVERTÊNCIA: The web application [FMarieta] appears to have started a thread named [pool-10-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
fev 19, 2018 5:00:45 PM org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks
GRAVE: The web application [FMarieta] created a ThreadLocal with key of type [org.apache.log4j.helpers.ThreadLocalMap] (value [org.apache.log4j.helpers.ThreadLocalMap@240fcf8]) and a value of type [java.util.Hashtable] (value [{}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
fev 19, 2018 5:00:48 PM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
fev 19, 2018 5:00:48 PM com.sun.faces.config.ConfigureListener contextInitialized
INFORMAÇÕES: Inicializando Mojarra 2.0.11 (SNAPSHOT 20130213-1632) para o contexto '/FMarieta’
fev 19, 2018 5:00:48 PM com.sun.faces.spi.InjectionProviderFactory createInstance
INFORMAÇÕES: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
fev 19, 2018 5:00:49 PM org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFORMAÇÕES: Running on PrimeFaces 5.0
fev 19, 2018 5:00:49 PM org.apache.catalina.core.StandardContext reload
INFORMAÇÕES: Reloading Context with name [/FMarieta] is completed
fev 19, 2018 5:01:07 PM com.sun.faces.facelets.impl.DefaultFacelet refresh
INFORMAÇÕES: Facelet[/sistema.xhtml] was modified @ 17:01:07, flushing component applied @ 17:00:41
fev 19, 2018 5:01:07 PM com.sun.faces.facelets.impl.DefaultFacelet refresh
INFORMAÇÕES: Facelet[/sistema.xhtml] was modified @ 17:01:07, flushing component applied @ 17:00:41
fev 19, 2018 5:01:07 PM com.sun.faces.facelets.impl.DefaultFacelet refresh
INFORMAÇÕES: Facelet[/sistema.xhtml] was modified @ 17:01:07, flushing component applied @ 17:00:41
fev 19, 2018 5:01:07 PM com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit
GRAVE: javax.faces.FacesException: No SearchExpressionResolver available for expression “@form1”
</h:head>
<h:body>
CADASTRO ASSISTIDOS
<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"/>
</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:commandButton value="Gravar" id="gravar" update="@form1,@form2,@form3" actionListener="#{mb.gravar}" ajax="true" styleClass="ui-priority-primary" />
<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="idAsistidos: " filterBy="#{linha.idAsistidos}"><h:outputText value="#{linha.idAsistidos}"/></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>
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= session.beginTransaction();
session.save(a);
e.setAssistidos(a);
session.save(e);
transaction.commit();
session.close();
}
public void excluirDao(Assistidos a, Endereco e)throws Exception{
session=HibernateUtil.getSessionFactory().openSession();
transaction=session.beginTransaction();
session.delete(e);
e.setAssistidos(a);
transaction.commit();
if (session !=null) {
session.close();
}
}
public List<DtoAssistidosEndereco> findAll(){
session=HibernateUtil.getSessionFactory().openSession();
List<DtoAssistidosEndereco>lista =session.createQuery("SELECT * FROM fundacao ").list();
session.close();
return lista;
}
}
package manager;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import dto.DtoAssistidosEndereco;
import entity.Assistidos;
import entity.Endereco;
import persistence.AssistidosDao;
@ManagedBean(name=“mb”)
@RequestScoped
public class ManagerBean {
private Assistidos assistidos;
private Endereco endereco;
private AssistidosDao dao;
private List<DtoAssistidosEndereco> dtoAssistidosEnderecos;
public ManagerBean() {
dao = new AssistidosDao();
assistidos= new Assistidos();
endereco = new Endereco();
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Assistidos getAssistidos() {
return assistidos;
}
public void setAssistidos(Assistidos assistidos) {
this.assistidos = assistidos;
}
public AssistidosDao getDao() {
return dao;
}
public void setDao(AssistidosDao dao) {
this.dao = dao;
}
public List<DtoAssistidosEndereco> getDtoAssistidosEnderecos() {
try {
if (dao == null) {
dao= new AssistidosDao();
}
dtoAssistidosEnderecos = new AssistidosDao().findAll();
} catch (Exception ex) {
ex.printStackTrace();
}
return dtoAssistidosEnderecos;
}
public void setDtoAssistidosEnderecos(List<DtoAssistidosEndereco> dtoAssistidosEnderecos) {
this.dtoAssistidosEnderecos = dtoAssistidosEnderecos;
}
public void gravar() {
FacesContext fc = FacesContext.getCurrentInstance();
try {
if (dao==null) {
dao = new AssistidosDao();
}
dao.gravarDao(assistidos, endereco);
assistidos = new Assistidos();
endereco = new Endereco();
fc.addMessage(null, new FacesMessage("Dados Gravados"));
} catch (Exception ex) {
fc.addMessage(null, new FacesMessage("Error"+ex.getMessage()));
}
}
public void excluir() {
FacesContext fc = FacesContext.getCurrentInstance();
try {
if (dao==null) {
dao=new AssistidosDao();
}
dao.excluirDao(assistidos, endereco);
assistidos =new Assistidos();
endereco = new Endereco();
fc.addMessage(null, new FacesMessage("Dados Excluidos"));
} catch (Exception ex) {
fc.addMessage(null, new FacesMessage());
}
}
}
package dto;import entity.Assistidos;
import entity.Endereco;
public class DtoAssistidosEndereco {
private Assistidos assistidos;
private Endereco endereco;
public DtoAssistidosEndereco() {
}
public DtoAssistidosEndereco(Assistidos assistidos, Endereco endereco) {
this.assistidos = assistidos;
this.endereco = endereco;
}
@Override
public String toString() {
return "DtoAssistidosEndereco [assistidos=" + assistidos + ", endereco=" + endereco + "]";
}
public Assistidos getAssistidos() {
return assistidos;
}
public void setAssistidos(Assistidos assistidos) {
this.assistidos = assistidos;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
}

