Erro - object references an unsaved transient instance

3 respostas
M

Lista,

Quando executo a query abaixo (Estou usando o seam + richfaces) recebo a exception abaixo.
Algueém já passou por isso? Como resolver?

Muito obrigado,

Marques
List<Produto> produtos = em.createQuery("select p from Produto p where p.produtoEstrutura =:secao")
				.setParameter("secao", subProdutoEstrutura).getResultList();
SEVERE: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.fit.loja.entity.ProdutoEstrutura
javax.faces.el.EvaluationException: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.fit.loja.entity.ProdutoEstrutura

Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.fit.loja.entity.ProdutoEstrutura
	at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:242)
	at org.hibernate.type.EntityType.getIdentifier(EntityType.java:430)
	at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:110)
	at org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:61)
	at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:514)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1589)
	at org.hibernate.loader.Loader.doQuery(Loader.java:696)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	at org.hibernate.loader.Loader.doList(Loader.java:2228)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
	at org.hibernate.loader.Loader.list(Loader.java:2120)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)
	... 79 more

3 Respostas

E

br.com.fit.loja.entity.ProdutoEstrutura implementa Serializable?

M

Implementa sim, EmmanuelRock

E

É que você está tentando salvar um objeto que está relacionado a outro objeto e este outro ainda não está salvo.

Tente salvar o outro objeto primeiro e após salve o objeto que deseja.

(Peguei esse texto em outro fórum).

Criado 3 de março de 2011
Ultima resposta 3 de mar. de 2011
Respostas 3
Participantes 2