Problemas com JSF 2.0 com Primefaces 2.2.1

31 respostas
eveban

Boa noite.
Vou tentar resumir meu problema pra vocês.
Fiz agenda com jsf 1.2 e richfaces 3.2, a aplicação funcionou normalmente sem problemas( pricipalmente o método salvar )
O que esta acontecendo é o seguinte:
Fiz migrar esta agenda para jsf 2.0 com primefaces 2.2.1, mas aconteceu um problema, a agenda parou de salvar, o método parou de funcionar, percebi que o problema estava no primefaces ( posso esta enganado), pois quando deixo o sistema “cru” ( sem skin e sem componenste do primefaces ), o método funciona, simplesmente salva na agenda.
Posso esta comendo bronha em algo, se alguem ja passou por este problema e puder me ajudar, eu agradeço, segue abaixo as partes do cófigo.

Grato

Modelo

package br.com.agenda.modelo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class Agenda implements Serializable {

	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="agecod")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;
	private String agenom;
	private String agecom;
	private String agecel;
	private String ageres;
	private String ageobs;
	private String agefax;
	private String agesit;
	private String ageend;
	private String agebai;
	private String agecid;
	private String agemail;
	
		
	@ManyToOne
	@JoinColumn(name = "codgrupo")
	private Grupo grupo;


	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public String getAgenom() {
		return agenom;
	}


	public void setAgenom(String agenom) {
		this.agenom = agenom;
	}


	public String getAgecom() {
		return agecom;
	}


	public void setAgecom(String agecom) {
		this.agecom = agecom;
	}


	public String getAgecel() {
		return agecel;
	}


	public void setAgecel(String agecel) {
		this.agecel = agecel;
	}


	public String getAgeres() {
		return ageres;
	}


	public void setAgeres(String ageres) {
		this.ageres = ageres;
	}


	public String getAgeobs() {
		return ageobs;
	}


	public void setAgeobs(String ageobs) {
		this.ageobs = ageobs;
	}


	public String getAgefax() {
		return agefax;
	}


	public void setAgefax(String agefax) {
		this.agefax = agefax;
	}


	public String getAgesit() {
		return agesit;
	}


	public void setAgesit(String agesit) {
		this.agesit = agesit;
	}


	public String getAgeend() {
		return ageend;
	}


	public void setAgeend(String ageend) {
		this.ageend = ageend;
	}


	public String getAgebai() {
		return agebai;
	}


	public void setAgebai(String agebai) {
		this.agebai = agebai;
	}


	public String getAgecid() {
		return agecid;
	}


	public void setAgecid(String agecid) {
		this.agecid = agecid;
	}


	public String getAgemail() {
		return agemail;
	}


	public void setAgemail(String agemail) {
		this.agemail = agemail;
	}


	public Grupo getGrupo() {
		return grupo;
	}


	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}


}

DAO

package br.com.agenda.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.agenda.modelo.Agenda;

public class AgendaDAO {
	
	private static AgendaDAO instance = new AgendaDAO();

	private AgendaDAO() {

	}

	public static AgendaDAO getInstance() {
		return instance;
	}
	
	public List<Agenda> getAll() {
		EntityManager em = PersistenceUtil.getEntityManager();
		Query query = em.createQuery("from Agenda");
		@SuppressWarnings("unchecked")
		List<Agenda> agendas = (List<Agenda>) query.getResultList();
		PersistenceUtil.close(em);
		return agendas;
	}
	
	public void salvar(Agenda agenda) {
		EntityManager em = null;
		try {
			em = PersistenceUtil.getEntityManager();
			em.getTransaction().begin();
			if (agenda.getId() == 0) {
				em.persist(agenda);
			} else {
				agenda = em.merge(agenda);
			}
			em.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
		} finally {
			PersistenceUtil.close(em);
		}
	}
	
	public void excluir(Agenda agenda) {
		EntityManager em = null;
		try {
			em = PersistenceUtil.getEntityManager();
			em.getTransaction().begin();
			agenda = em.merge(agenda);
			em.remove(agenda);
			em.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			em.getTransaction().rollback();
		} finally {
			PersistenceUtil.close(em);
		}
	}
	
	

}

Página

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:f="http://java.sun.com/jsf/core">

<h:head>

	<title>Agenda de Contatos</title>
	<link type="text/css" rel="stylesheet" href="css/theme.css" />


</h:head>

<h:body style="font-size: 10pt">

	<h:form>

		<p:layout fullPage="true">

			<p:layoutUnit position="top" height="100" header="Agenda">

				<center><h:outputText value="Agenda de contatos"
					style="font-size: 26pt" /></center>

			</p:layoutUnit>

			<p:layoutUnit position="center" header="Centro">

				<br></br>

				<div align="center"><h:panelGrid columns="1">

					<p:panel header="Cadastro de Contatos" style="text-align: left">

						<p:panel>
							<h:panelGrid columns="4" cellpadding="5">


								<h:outputLabel value="Nome: " />
								<p:inputText id="nome" value="#{agendaMB.agenda.agenom}" />

								<h:outputText value="Endereço:" />
								<p:inputText id="endereco" value="#{agendaMB.agenda.ageend}" />

								<h:outputText value="Bairro:" />
								<p:inputText id="bairro" value="#{agendaMB.agenda.agebai}" />

								<h:outputText value="Cidade:" />

								<p:inputText id="cidade" value="#{agendaMB.agenda.agecid}" />

								<h:outputText value="Telefone Comercial: " />
								<p:inputMask mask="([telefone removido]"
									value="#{agendaMB.agenda.agecom}" />

								<h:outputText value="Telefone Residencial: " />
								<p:inputMask mask="([telefone removido]"
									value="#{agendaMB.agenda.ageres}" />

								<h:outputText value="Telefone Celular: " />
								<p:inputMask mask="([telefone removido]"
									value="#{agendaMB.agenda.agecel}" />
									
									
								<h:outputText value="FAX: " />
								<p:inputMask mask="([telefone removido]"
									value="#{agendaMB.agenda.agefax}" />
									
									<h:outputText value="WebPage:" />
								<p:inputText id="site" value="#{agendaMB.agenda.agesit}" />
								
								<h:outputText value="Email:" />
								<p:inputText id="email" value="#{agendaMB.agenda.agemail}" />

								<h:outputText value="Grupo: " />
								<h:selectOneMenu value="#{agendaMB.agenda.grupo.id}">
									<f:selectItems value="#{agendaMB.grupos}" />
								</h:selectOneMenu>
								<p:commandButton actionListener="#{agendaMB.salvar()}" value="Salvar"/>
							</h:panelGrid>
							<h:outputText value="Observações: " />
							<p:inputTextarea style="width:500px;height:100px;" effectDuration="400" value="#{agendaMB.agenda.ageobs}"/>
						</p:panel>
					</p:panel>
					
					

				</h:panelGrid></div>

			</p:layoutUnit>

			<p:layoutUnit position="left" width="250" header="Calendario">

				<p:calendar mode="inline" />

			</p:layoutUnit>

			<p:layoutUnit position="right" width="150" header="Imagens">


			</p:layoutUnit>

			<p:layoutUnit position="bottom" height="33"
				header="[email removido]">

			</p:layoutUnit>

		</p:layout>

	</h:form>

</h:body>

</html>

Bean

package br.com.agenda.bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;

import br.com.agenda.dao.AgendaDAO;
import br.com.agenda.dao.GrupoDAO;
import br.com.agenda.modelo.Agenda;
import br.com.agenda.modelo.Grupo;

public class AgendaMB {
	private Agenda agenda = new Agenda();
	private DataModel listaContatos;
	private List<SelectItem> grupos;
	
	
	public AgendaMB() {
		super();
	}
	
	public void salvar(){
		AgendaDAO.getInstance().salvar(agenda);
	}

	public void excluir() {
		agenda = (Agenda) this.listaContatos.getRowData();
		AgendaDAO.getInstance().excluir(agenda);
		this.listaContatos = null;
	}

	public String editar() {
		this.agenda = (Agenda) listaContatos.getRowData();
		return "novoContato";
	}

	public Agenda getAgenda() {
		if (agenda == null) {
			agenda = new Agenda();
			agenda.setGrupo(new Grupo());
		}
		return agenda;
	}

	public void setAgenda(Agenda agenda) {
		this.agenda = agenda;
	}

	public DataModel getListaContatos() {
		if (this.listaContatos == null) {
			List<Agenda> age = AgendaDAO.getInstance().getAll();
			this.listaContatos = new ListDataModel(age);
		}
		return listaContatos;
	}

	public void setListaContatos(DataModel listaContatos) {
		this.listaContatos = listaContatos;
	}

	public List<SelectItem> getGrupos() {
		if (this.grupos == null) {
			this.grupos = new ArrayList<SelectItem>();
			List<Grupo> gru = GrupoDAO.getInstance().getAll();
			for (Grupo grupo : gru) {
				SelectItem item = new SelectItem(grupo.getId(),
						grupo.getDescricao());
				this.grupos.add(item);
			}

		}
		return grupos;
	}

	public void setGrupos(List<SelectItem> grupos) {
		this.grupos = grupos;
	}

}

Erro que esta acontecendo (parece ser na grvação de um mapeamento)

09/03/2011 21:00:50 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/AgendaPessoal] threw exception [javax.el.PropertyNotFoundException: /contato2.xhtml @78,62 value="#{agendaMB.agenda.grupo.id}": Target Unreachable, 'grupo' returned null] with root cause
javax.el.PropertyNotFoundException: /contato2.xhtml @78,62 value="#{agendaMB.agenda.grupo.id}": Target Unreachable, 'grupo' returned null
	at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:126)
	at javax.faces.component.UIInput.updateModel(UIInput.java:805)
	at javax.faces.component.UIInput.processUpdates(UIInput.java:722)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIForm.processUpdates(UIForm.java:270)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1239)
	at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

31 Respostas

J

La no linha 81 da sua pagina você esta invocado o actionListener mais no seu MB você não usa o event outra coisa o se você esta realizando uma chamada AJAX o método e void, realize as alterações na linha conforme o abaixo

<p:commandButton action="#{agendaMB.salvar}" value="Salvar" ajax="true" />

tive tbm um problema parecido e resolvi desta forma.

eveban

Vou tentar, o botao actionListener, estava somente como action, esqueci de alterar, mas vou tentar das duas formas.
Obrigado.

eveban

Mesmo erro, não funcionou.
javax.faces.component.UpdateModelException: javax.el.PropertyNotFoundException: /contato2.xhtml @78,62 value="#{agendaMB.agenda.grupo.id}": Target Unreachable, ‘grupo’ returned null

Existe um detalhe, se eu comentar o código do meu SelectOneMenu - Ele salva no banco, mas não pega os parametros que eu digitei.

clebiovieira

Também estou com o mesmo problema, passei hoje o dia todo tentando…
Não achei nada até agora que resolvesse. Parece que o botão do primefaces é bugado… quando coloco o debug ele nem chega a acessar o método do meu managed bean…

:frowning:

josemanzoli

Tive diversos problemas com a versão 2.2.1 do prime. Estou usando a 2.2.RC2 e funciona belezinha, tentem utilizar ela.

A

Esse erro:

09/03/2011 21:00:50 org.apache.catalina.core.StandardWrapperValve invoke  
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/AgendaPessoal] threw exception [javax.el.PropertyNotFoundException: /contato2.xhtml @78,62 value="#{agendaMB.agenda.grupo.id}": Target Unreachable, 'grupo' returned null] with root cause  
 javax.el.PropertyNotFoundException: /contato2.xhtml @78,62 value="#{agendaMB.agenda.grupo.id}": Target Unreachable, 'grupo' returned null

quer dizer que o grupo da agenda é nulo, e ele realmente deve está nulo, já que o new você só faz na agenda

private Agenda agenda = new Agenda();

Tenta utilizar os conversores do JSF, em vez de pegar pelo id pegar diretamente o objeto para que isso não aconteça. Pois é uma solução mais orientada a objetos, além de deixar o código mais limpo.
Caso você ainda não tenha utilizado algum conversor, dá uma pesquisada que é bem simples.

Ficaria mais ou menos assim o teu select:

<h:selectOneMenu value="#{agendaMB.agenda.grupo}" converter="grupoConverter" > <f:selectItems value="#{agendaMB.grupos}" /> </h:selectOneMenu>

eveban

Ok, vou dar uma olhada.
Obrigado, qualquer novidade volto a postar

eveban

Tetntei as opções acima dos amigos, mas não rolou, o engraçado, é que seu eu remover o prime, funciona, não consigo entender, acho que terei que fazer downgrade mesmo, jsf 1.2 com richfaces mesmo.

A

Qual erro aconteceu com o converter?

eveban

Ainda não cheguei a implementar este, tentei alguns outros testes antes.

clebiovieira

Fala camarada, como disse anteriormente… estou p… com esse bug…
Estou usando o primefaces 2.2.1, vou tentar com a RC2 como o amigo disse.

Tomara que seja ignorancia minha, não é possível que mandem um framework com um
bug no botão. rsrs Qual aplicação não usa botão ??? hehehe

Cara fiz um rolo doido aqui… O grande jeitinho brasileiro…

Desabilita o ajax -> <p:commandButton ajax=“false”>

A única forma que consegui de fazer funcionar. :evil:

&lt;p:commandButton value="Cadastrar"  
						actionListener="#{usuarioBean.gravaAjax}" update="xota, formUsuarioCad" ajax="false"&gt;
					&lt;f:ajax execute="@form" render="@form"/&gt;	
				&lt;/p:commandButton&gt;

Que tiver mais soluções eu agradeço.

fernandogodoy18

clebiovieira:
Fala camarada, como disse anteriormente… estou p… com esse bug…
Estou usando o primefaces 2.2.1, vou tentar com a RC2 como o amigo disse.

Tomara que seja ignorancia minha, não é possível que mandem um framework com um
bug no botão. rsrs Qual aplicação não usa botão ??? hehehe

Cara fiz um rolo doido aqui… O grande jeitinho brasileiro…

Desabilita o ajax -> <p:commandButton ajax=“false”>

A única forma que consegui de fazer funcionar. :evil:

&lt;p:commandButton value="Cadastrar"  
						actionListener="#{usuarioBean.gravaAjax}" update="xota, formUsuarioCad" ajax="false"&gt;
					&lt;f:ajax execute="@form" render="@form"/&gt;	
				&lt;/p:commandButton&gt;

Que tiver mais soluções eu agradeço.

Tente desta forma

&lt;p:commandButton id="btnSalvar" value="Cadastrar" actionListener="#{usuarioBean.gravaAjax}"  process="@form" update="xota, formUsuarioCad"/&gt;

Lembrado que quando vc tem o actionListener você terá um médodo void e se action ele sera String

neste caso

public void gravaAjax(ActionEvent event){
//Implementação do metodo
}
eveban

VOu testar aqui para ver o que dá, mudei a versão do prime e o erro parou, porém ele esta jogando todos os dados null no meu banco.

fernandogodoy18

qual scopo vc esta usando ??

clebiovieira

Não sei o do amigo, mas o meu escopo é view…

josemanzoli

Aqui to usando o conversation porque tava dando uns problemas com o Dialog do prime em request

clebiovieira

Onde faço para baixar esta versão ? Não achei no site deles.

abraços.

clebiovieira

Onde faço para baixar esta versão ? Não achei no site deles.

abraços.

Achei: http://code.google.com/p/primefaces/downloads/detail?name=primefaces-2.2.RC2.zip&can=2&q=

josemanzoli

Se você tiver usando maven pode colocar no pom

<dependency>
  <groupId>org.primefaces</groupId>
  <artifactId>primefaces</artifactId>
  <version>2.2.RC2</version>
</dependency>

Ou fazer o download ai desse link que você achou.

Caso queira eu te envio por email ou ftp ou coisa do tipo.

R

o problema esta no nome dos atributos da agenda: agenom agecel agebu. Isso não é do tempo do dbase III?

Quando se utiliza tecnologia de ponta os nomes dos atribitos ficam assim:

class Agenda{
  private String nome;
  private String celular;
  private Date nascimento;
}
fernandogodoy18

Clebio você tambem está com o mesmo problema de não chamar métodos?

O exemplo que mandei era pra funcionar, exceto em 1 caso:
Quando vc coloca o Actionevent no metodo você precisa fazer um import

Se ele estiver incorreto não funcionará…

Verifique se o import esta assim

import javax.faces.event.ActionEvent;
clebiovieira

fernandogodoy18:
Clebio você tambem está com o mesmo problema de não chamar métodos?

O exemplo que mandei era pra funcionar, exceto em 1 caso:
Quando vc coloca o Actionevent no metodo você precisa fazer um import

Se ele estiver incorreto não funcionará…

Verifique se o import esta assim

import javax.faces.event.ActionEvent;

Eu fiz o import, ele me obrigou… cara até consegui fazer a dica funcionar. Mas tem alguma coisa no meu layout que faz a página bugar…

Alias, aguém já tentou fazer o exemplo dá página: http://quebrandoparadigmas.com/?p=433

Aqui pra mim não está funcionado o lance do include dinamico. Os paines até atualizam na boa, mas os botões perderam todo fancionalidade.
Alguém pode me ajudar com esse exemplo, to me baseando pro ele pra desenvolver meu menu…

Abraços… Valeu pela atenção fernandogodoy18… 8)

C

Amigos também estou com este problema também, utilizo da mesma forma, tentei tudo que foi dito aqui e nada, se removo o primefaces tudo ocorre normal, o scopo que eu uso é Session

@ManagedBean(name = "agendaMB")
@SessionScoped
public class AgendaMB implements Serializable {

olhem o erro que acontece:

09:58:52,605 ERROR [STDERR] javax.persistence.RollbackException: Error while committing the transaction

09:58:52,605 ERROR [STDERR] 	at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:93)

09:58:52,606 ERROR [STDERR] 	at dao.AgendaDAO.salvar(AgendaDAO.java:41)

09:58:52,606 ERROR [STDERR] 	at controlador.AgendaMB.salvarAgenda(AgendaMB.java:41)

09:58:52,606 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

09:58:52,606 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

09:58:52,606 ERROR [STDERR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

09:58:52,606 ERROR [STDERR] 	at java.lang.reflect.Method.invoke(Unknown Source)

09:58:52,607 ERROR [STDERR] 	at org.apache.el.parser.AstValue.invoke(AstValue.java:196)

09:58:52,607 ERROR [STDERR] 	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

09:58:52,607 ERROR [STDERR] 	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)

09:58:52,607 ERROR [STDERR] 	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)

09:58:52,607 ERROR [STDERR] 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)

09:58:52,607 ERROR [STDERR] 	at javax.faces.component.UICommand.broadcast(UICommand.java:311)

09:58:52,607 ERROR [STDERR] 	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)

09:58:52,608 ERROR [STDERR] 	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)

09:58:52,608 ERROR [STDERR] 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)

09:58:52,608 ERROR [STDERR] 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)

09:58:52,608 ERROR [STDERR] 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)

09:58:52,608 ERROR [STDERR] 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)

09:58:52,609 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

09:58:52,609 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

09:58:52,609 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

09:58:52,609 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

09:58:52,610 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

09:58:52,610 ERROR [STDERR] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

09:58:52,610 ERROR [STDERR] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

09:58:52,610 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

09:58:52,610 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

09:58:52,610 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

09:58:52,611 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

09:58:52,611 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

09:58:52,611 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

09:58:52,611 ERROR [STDERR] 	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

09:58:52,611 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

09:58:52,612 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

09:58:52,612 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

09:58:52,612 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

09:58:52,612 ERROR [STDERR] 	at java.lang.Thread.run(Unknown Source)

09:58:52,613 ERROR [STDERR] Caused by: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: modelo.Agenda.grupo -> modelo.Grupos

09:58:52,613 ERROR [STDERR] 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1211)

09:58:52,613 ERROR [STDERR] 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1147)

09:58:52,613 ERROR [STDERR] 	at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:81)

09:58:52,613 ERROR [STDERR] 	... 37 more

09:58:52,614 ERROR [STDERR] Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: modelo.Agenda.grupo -> modelo.Grupos

09:58:52,614 ERROR [STDERR] 	at org.hibernate.engine.CascadingAction$9.noCascade(CascadingAction.java:387)

09:58:52,614 ERROR [STDERR] 	at org.hibernate.engine.Cascade.cascade(Cascade.java:172)

09:58:52,614 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)

09:58:52,615 ERROR [STDERR] 	at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:76)

09:58:52,616 ERROR [STDERR] 	... 37 more

09:58:52,616 GRAVE [javax.enterprise.resource.webcontainer.jsf.application] java.lang.IllegalStateException: Transaction not active: javax.faces.el.EvaluationException: java.lang.IllegalStateException: Transaction not active
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98) [:2.0.3-]
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98) [:2.0.3-]
	at javax.faces.component.UICommand.broadcast(UICommand.java:311) [:2.0.3-]
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781) [:2.0.3-]
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246) [:2.0.3-]
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) [:2.0.3-]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) [:2.0.3-]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308) [:2.0.3-]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
	at java.lang.Thread.run(Unknown Source) [:1.6.0_23]
Caused by: java.lang.IllegalStateException: Transaction not active
	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104) [:3.6.0.Final]
	at dao.AgendaDAO.salvar(AgendaDAO.java:44) [:]
	at controlador.AgendaMB.salvarAgenda(AgendaMB.java:41) [:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_23]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_23]
	at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_23]
	at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.0.0.Final]
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:6.0.0.Final]
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102) [:2.0.3-]
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84) [:2.0.3-]
	... 27 more

09:58:52,618 AVISO [javax.enterprise.resource.webcontainer.jsf.lifecycle] #{agendaMB.salvarAgenda}: java.lang.IllegalStateException: Transaction not active: javax.faces.FacesException: #{agendaMB.salvarAgenda}: java.lang.IllegalStateException: Transaction not active
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:114) [:2.0.3-]
	at javax.faces.component.UICommand.broadcast(UICommand.java:311) [:2.0.3-]
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781) [:2.0.3-]
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246) [:2.0.3-]
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) [:2.0.3-]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) [:2.0.3-]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308) [:2.0.3-]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
	at java.lang.Thread.run(Unknown Source) [:1.6.0_23]
Caused by: javax.faces.el.EvaluationException: java.lang.IllegalStateException: Transaction not active
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98) [:2.0.3-]
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98) [:2.0.3-]
	... 26 more
Caused by: java.lang.IllegalStateException: Transaction not active
	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104) [:3.6.0.Final]
	at dao.AgendaDAO.salvar(AgendaDAO.java:44) [:]
	at controlador.AgendaMB.salvarAgenda(AgendaMB.java:41) [:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_23]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_23]
	at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_23]
	at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.0.0.Final]
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:6.0.0.Final]
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102) [:2.0.3-]
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84) [:2.0.3-]
	... 27 more

09:58:52,620 ERROR [STDERR] javax.faces.FacesException: #{agendaMB.salvarAgenda}: java.lang.IllegalStateException: Transaction not active

09:58:52,620 ERROR [STDERR] 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:85)

09:58:52,620 ERROR [STDERR] 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)

09:58:52,620 ERROR [STDERR] 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)

09:58:52,620 ERROR [STDERR] 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)

09:58:52,620 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

09:58:52,621 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

09:58:52,621 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

09:58:52,621 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

09:58:52,621 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

09:58:52,621 ERROR [STDERR] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

09:58:52,621 ERROR [STDERR] 	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

09:58:52,621 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

09:58:52,622 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

09:58:52,622 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

09:58:52,622 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

09:58:52,622 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

09:58:52,622 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

09:58:52,622 ERROR [STDERR] 	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

09:58:52,622 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

09:58:52,623 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

09:58:52,623 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

09:58:52,623 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

09:58:52,623 ERROR [STDERR] 	at java.lang.Thread.run(Unknown Source)

09:58:52,623 ERROR [STDERR] Caused by: javax.faces.FacesException: #{agendaMB.salvarAgenda}: java.lang.IllegalStateException: Transaction not active

09:58:52,624 ERROR [STDERR] 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:114)

09:58:52,624 ERROR [STDERR] 	at javax.faces.component.UICommand.broadcast(UICommand.java:311)

09:58:52,624 ERROR [STDERR] 	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)

09:58:52,624 ERROR [STDERR] 	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)

09:58:52,624 ERROR [STDERR] 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)

09:58:52,625 ERROR [STDERR] 	... 22 more

09:58:52,625 ERROR [STDERR] Caused by: javax.faces.el.EvaluationException: java.lang.IllegalStateException: Transaction not active

09:58:52,625 ERROR [STDERR] 	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)

09:58:52,625 ERROR [STDERR] 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)

09:58:52,625 ERROR [STDERR] 	... 26 more

09:58:52,625 ERROR [STDERR] Caused by: java.lang.IllegalStateException: Transaction not active

09:58:52,626 ERROR [STDERR] 	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104)

09:58:52,626 ERROR [STDERR] 	at dao.AgendaDAO.salvar(AgendaDAO.java:44)

09:58:52,626 ERROR [STDERR] 	at controlador.AgendaMB.salvarAgenda(AgendaMB.java:41)

09:58:52,626 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

09:58:52,627 ERROR [STDERR] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

09:58:52,627 ERROR [STDERR] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

09:58:52,627 ERROR [STDERR] 	at java.lang.reflect.Method.invoke(Unknown Source)

09:58:52,627 ERROR [STDERR] 	at org.apache.el.parser.AstValue.invoke(AstValue.java:196)

09:58:52,627 ERROR [STDERR] 	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

09:58:52,628 ERROR [STDERR] 	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)

09:58:52,628 ERROR [STDERR] 	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)

09:58:52,628 ERROR [STDERR] 	... 27 more

Obs.: estou fazendo um projeto igual ao do eveban, e usamos a mesma tecnologia.

Amigo rwolosker acho que o nome tanto importa aqui né, por favor ajuda mais rsrrs.

Abraços

César

josemanzoli

@cesarpir: analisa se a sua classe está com os relacionamentos setados com o CascadeType.ALL

@clebiovieira: To enroladasso com um prazo de entrega e não vou ter tempo de testar esse exemplo que você passou, tive problemas aqui com o Mojarra e tive que atualizar ele também como consta no link, você fez isso e ainda assim não deu certo?

C

Valeu josemanzoli pela atenção, eu fiz sim o cascade = CascadeType.ALL, agora dizer que estou correto, to verificando isto, abaixo segue as duas classes, thks:

Grupos

package modelo;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "agrupos")
public class Grupos implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "CODGRUPO")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;

	private String descricao;

	@OneToMany(mappedBy = "grupo", fetch = FetchType.EAGER, cascade = CascadeType.ALL)            
	private Collection<Agenda> agendas;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public Collection<Agenda> getAgendas() {
		return agendas;
	}

	public void setAgendas(Collection<Agenda> agendas) {
		this.agendas = agendas;
	}

}
package modelo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "agenda")
public class Agenda implements Serializable {

	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="AGECOD")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;

	@Column(name="AGENOM")
	private String agenom;

	@Column(name="AGECOM")
	private String agecom;

	@Column(name="AGECEL")
	private String agecel;

	@Column(name="AGERES")
	private String ageres;
	
	@Column(name="AGEOBS")
	private String ageobs;
	
	@Column(name="AGEFAX")
	private String agefax;
	
	@Column(name="AGESIT")
	private String agesit;
	
	@Column(name="AGEEND")
	private String ageend;
	
	@Column(name="AGEBAI")
	private String agebai;
	
	@Column(name="AGECID")
	private String agecid;
	
	@Column(name="AGEMAIL")
	private String agemail;
			
	@ManyToOne
	@JoinColumn(name = "CODGRUPO", insertable=true, updatable=true, nullable=true)
	private Grupos grupo;

	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public static long getSerialversionuid() {
		return serialVersionUID;
	}


	public String getAgenom() {
		return agenom;
	}


	public void setAgenom(String agenom) {
		this.agenom = agenom;
	}


	public String getAgecom() {
		return agecom;
	}


	public void setAgecom(String agecom) {
		this.agecom = agecom;
	}


	public String getAgecel() {
		return agecel;
	}


	public void setAgecel(String agecel) {
		this.agecel = agecel;
	}


	public String getAgeres() {
		return ageres;
	}


	public void setAgeres(String ageres) {
		this.ageres = ageres;
	}


	public String getAgeobs() {
		return ageobs;
	}


	public void setAgeobs(String ageobs) {
		this.ageobs = ageobs;
	}


	public String getAgefax() {
		return agefax;
	}


	public void setAgefax(String agefax) {
		this.agefax = agefax;
	}


	public String getAgesit() {
		return agesit;
	}


	public void setAgesit(String agesit) {
		this.agesit = agesit;
	}


	public String getAgeend() {
		return ageend;
	}


	public void setAgeend(String ageend) {
		this.ageend = ageend;
	}


	public String getAgebai() {
		return agebai;
	}


	public void setAgebai(String agebai) {
		this.agebai = agebai;
	}


	public String getAgecid() {
		return agecid;
	}


	public void setAgecid(String agecid) {
		this.agecid = agecid;
	}


	public String getAgemail() {
		return agemail;
	}


	public void setAgemail(String agemail) {
		this.agemail = agemail;
	}


	public Grupos getGrupo() {
		return grupo;
	}


	public void setGrupo(Grupos grupo) {
		this.grupo = grupo;
	}



}
clebiovieira

josemanzoli:
@cesarpir: analisa se a sua classe está com os relacionamentos setados com o CascadeType.ALL

@clebiovieira: To enroladasso com um prazo de entrega e não vou ter tempo de testar esse exemplo que você passou, tive problemas aqui com o Mojarra e tive que atualizar ele também como consta no link, você fez isso e ainda assim não deu certo?

Atualizei de 2.2.1 para versão 2.2.RC2 … Sem que eu modifique uma linha de código ele está de cara dando erro, dizendo que não existe <p:imputtext/> para determinada namespace. Tento usar o autocompletar e realmente o imputtext não vem na lsita de componentes… estranho né.

Mas de qualquer forma obrigado, quando puder me dar uma moral… vai ser muito bem vinda… agradeço mesmo.

Hoje o que estou precisando é fazer funcionar um sistema de cadastro de questões de código aberto.

Ele seria ssim:


| CABEÇALHO DO SISTEMA COM UMA FIGURA |



| MENUS. Ex, Cad.Usuario | Cad.Questoes |


|AQUI NO CORPO. Preciso que seja atualizado(AJAX) para cada |
|opção selecionada no menu. Ex. seleciono cadastro de |
|usuario. Ele deveria abrir aqui um usuario.xhtml com um |
|<h:form> e um <p:commandButton> |
________________________________________________ |

PESSOAL QUEM PUDER AJUDAR, assim que eu terminar o sisteminha prometo fazer um tutorial fazendo o passo a passo dele e credito o nome do pessoal.

Abraços !!!

josemanzoli

@clebiovieira: Cara usa um template … que dá certo, tá em anexo ai.

C
  1. Ou clebiovieira desculpa a intromissão mas é isto mesmo não tem mesmo <p:inputText> nas versões antigas, ai eu troquei por <h:inputText> ok apenas para comentar que tb tive este problema.

  2. Tive um progresso aqui e consegui inserir e alterar o registro da agenda que estamos tentando fazer, mas excluir dá erro ainda:

a classe agenda instanciei o grupo:
(isto até foi comentado nos tópicos anteriores)

@ManyToOne
	@JoinColumn(name = "CODGRUPO", insertable=true, updatable=true, nullable=true)
	private Grupos grupo = new Grupos();

bean

public Agenda getAgenda() {
		if (agenda == null) {
			agenda = new Agenda();
		}
		return agenda;
	}

Bom estou usando o primefaces-2.2.RC2 mas excluir nada, no bean da agenda o excluir tá assim:

public String excluir() {
		Agenda agenda = (Agenda) this.listaContatos.getRowData();
		AgendaDAO.getInstance().excluir(agenda);
		this.listaContatos = null;
		return "listarAgenda";
	}

O erro que apresenta ao tentar excluir:

javax.faces.el.EvaluationException: java.lang.IllegalStateException: Transaction not active
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
	at javax.faces.component.UICommand.broadcast(UICommand.java:311)
	at javax.faces.component.UIData.broadcast(UIData.java:912)
	at org.primefaces.component.datatable.DataTable.broadcast(DataTable.java:574)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Transaction not active
	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104)
	at dao.AgendaDAO.excluir(AgendaDAO.java:60)
	at controlador.AgendaMB.excluir(AgendaMB.java:41)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:196)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)
	... 29 more

Desculpem mas não tenho experiência com java, portanto pode parecer simples para alguns, outros como eu não! rsrsrs.

Obrigado

César

clebiovieira

cesarpir:
1) Ou clebiovieira desculpa a intromissão mas é isto mesmo não tem mesmo <p:inputText> nas versões antigas, ai eu troquei por <h:inputText> ok apenas para comentar que tb tive este problema.

  1. Tive um progresso aqui e consegui inserir e alterar o registro da agenda que estamos tentando fazer, mas excluir dá erro ainda:

a classe agenda instanciei o grupo:
(isto até foi comentado nos tópicos anteriores)

@ManyToOne
	@JoinColumn(name = "CODGRUPO", insertable=true, updatable=true, nullable=true)
	private Grupos grupo = new Grupos();

bean

public Agenda getAgenda() {
		if (agenda == null) {
			agenda = new Agenda();
		}
		return agenda;
	}

Bom estou usando o primefaces-2.2.RC2 mas excluir nada, no bean da agenda o excluir tá assim:

public String excluir() {
		Agenda agenda = (Agenda) this.listaContatos.getRowData();
		AgendaDAO.getInstance().excluir(agenda);
		this.listaContatos = null;
		return "listarAgenda";
	}

O erro que apresenta ao tentar excluir:

javax.faces.el.EvaluationException: java.lang.IllegalStateException: Transaction not active
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
	at javax.faces.component.UICommand.broadcast(UICommand.java:311)
	at javax.faces.component.UIData.broadcast(UIData.java:912)
	at org.primefaces.component.datatable.DataTable.broadcast(DataTable.java:574)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Transaction not active
	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104)
	at dao.AgendaDAO.excluir(AgendaDAO.java:60)
	at controlador.AgendaMB.excluir(AgendaMB.java:41)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:196)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)
	... 29 more

Desculpem mas não tenho experiência com java, portanto pode parecer simples para alguns, outros como eu não! rsrsrs.

Obrigado

César

Qual é teu escopo no bean ? Tem alguma coisa fechando tua transação antes ou nem mesmo abrindo. Tenta abrir a transação na session na mão…

abraços.

josemanzoli

Cesarpir você pode usar o EntityManager e utilizar das transações dele…

Aqui tem uma thread sobre isso!
http://www.guj.com.br/java/60513-como-fazer-um-update-e-um-delete-usando-jpa-com-hibernate

eveban

Precise refazer tudo na unha mesmo, sem usar skin do prime, por enquanto funcionou
Agora vou começar a fazer novos testes.
Valeu pela ajuda pessoal, continuarei por aqui para outras novidades.

Criado 9 de março de 2011
Ultima resposta 11 de mar. de 2011
Respostas 31
Participantes 8