Hibernate: não consigo deletar

Alguem poderia me ajudar com o delete do hibernate???
Já tentei de várias formas e nada.Todas as vezes ele mostrava
isso no console qdo eu mando deletar:

org.hibernate.event.def.DefaultDeleteEventListener deleteTransientEntity
INFO: handling transient entity in delete processing

Meu codigo para deletar:

public String deletarTurmasAction(){
		String retorno = "sucesso";
		Session session = null;
		try{
			AlocaPK id = new AlocaPK();
			id.setCodBloco(codbloco);
			id.setCodCampus(codcampus);
			id.setCodPavimento(codpavimento);
			id.setCodSala(codsala);
			id.setCodTurma(codturma);
			id.setDiaSemana(diasemana);
			id.setHoraFim(this.aloca.getHoraFim());
			id.setHoraInicio(this.aloca.getHoraInicio());
			
			Aloca aloca = new Aloca();
			aloca.setId(id);

			session = HibernateUtil.getSession();
			session.beginTransaction();
			
			new Dao<Aloca>(session,Aloca.class).remove(aloca);
			session.flush();
			session.getTransaction().commit();
		}catch (Exception e) {
			System.out.println("Não foi possivel fazer a exclusão de turmas na sala");
			retorno = "falha";
			e.printStackTrace();
		}finally{
			session.close();
		}
		return retorno;
	}

E minha classe Aloca:

@Entity
@Table(name="aloca_turma_sala")
public class Aloca implements Serializable{
	
	@EmbeddedId
	private AlocaPK id;
	
	@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
		@JoinColumn(name="codcampus",insertable=false,updatable=false)
	private Campus campus;
	@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
		@JoinColumns(value={
				@JoinColumn(name="codcampus",insertable=false,updatable=false),
				@JoinColumn(name="codbloco",insertable=false,updatable=false)
		})
	private Bloco bloco;
	@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
		@JoinColumn(name="codpavimento",insertable=false,updatable=false)
	private Pavimento pavimento;
	@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
	@JoinColumns(value={
			@JoinColumn(name="codcampus",insertable=false,updatable=false),
			@JoinColumn(name="codbloco",insertable=false,updatable=false),
			@JoinColumn(name="codpavimento",insertable=false,updatable=false),
			@JoinColumn(name="codsala",insertable=false,updatable=false),
	})
	private Sala sala;
	@ManyToOne(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
		@JoinColumn(name="codturma",insertable=false,updatable=false)
	private Turma turma;
	@Column(name="horainicio",insertable=false,updatable=false)
	private String horaInicio;
	@Column(name="horafim",insertable=false,updatable=false)
	private String horaFim;
	@Column(name="diasemana",insertable=false,updatable=false)
	private String diaSemana;
//gets e sets omitidos

Se alguem puder me ajudar!!!

Vlw!!!

Da uma olhada no import do seu Cascade.

vc importou o org.hibernate.annotations.CascadeType?
eu estava errando no import tbm esses dias… estava importando o javax.persistence ;/

Espero ter ajudado.
abraço!!!

Se liga, objetos transients ou operação transients não são persistidas no banco de dados, de repente pode ser algo no seu config do hibernate :wink:

Pow vlw por terem respondido!
Eu tentei mudar o import, mas ele dava erro qdo coloquei o org.hibernate.annotations.CascadeType.
Qto ao meu hibernate.cfg.xml eu vou postar abaixo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory name="">
  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:ORCL</property>
  <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
  <property name="hibernate.connection.username">SCIF</property>
  <property name="hibernate.connection.password"></property>
     		
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.format_sql">true</property>
 
  <property name="c3p0.max_size">30</property> 
  <property name="c3p0.max_statements">0</property> 
  <property name="c3p0.min_size">5</property> 
  <property name="c3p0.timeout">1200</property>      
 
  <mapping class="br.unig.scif.modelo.Campus"/>
  <mapping class="br.unig.scif.modelo.Bloco"/>
  <mapping class="br.unig.scif.modelo.Pavimento"/>
  <mapping class="br.unig.scif.modelo.Andar"/>
  <mapping class="br.unig.scif.modelo.Sala"/>
  <mapping class="br.unig.scif.modelo.TipoSala"/>
  <mapping class="br.unig.scif.modelo.Turma"/>
  <mapping class="br.unig.scif.modelo.Aloca"/>
 </session-factory>
</hibernate-configuration>

Inclusão e consulta eu to fazendo numa boa, somente o delete q nao consegui.Vlw!

vc não tem que consultar o objeto pra deletar ?

quem é codbloco ?

O objeto jah esta preenchido. Todos os campos de aloca são PK.

Eu jah printei cada atributo do objeto e esta preenchido.

dá um get no objeto depois chama a operação pra deletar!

nada… :cry:

Cara, não sei se foi o caso, mas se vc tentou importar o org.hibernate.anntotations com o javax.persistence ja importado pode ser que ele deu erro… isso também aconteceu comigo. Apaga o javax.persistence e tenta novamente…
Não custa nada tentar :wink:

Abraço!!!

Olá!
Hj voltei a mexer no projeto e resolvi fazer novamente uma busca primeiro no banco com o objeto que eu jah via preenchido, mencionado acima.Veja como ficou:

session = HibernateUtil.getSession();
session.beginTransaction();

AlocaPK id = new AlocaPK();
id.setCodBloco(codbloco);
id.setCodCampus(codcampus);
id.setCodPavimento(codpavimento);
id.setCodSala(codsala);
id.setCodTurma(codturma);
id.setDiaSemana(diasemana);	
id.setHoraFim(horafim);
id.setHoraInicio(horainicio);

Aloca aloca = new Dao<Aloca>(session,Aloca.class).procura(id);

new Dao<Aloca>(session,Aloca.class).remove(aloca);
			session.flush();
			session.getTransaction().commit();

Entao apareceu um novo erro:

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [br.unig.scif.modelo.Sala#br.unig.scif.modelo.SalaPK@126f304]
	at org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:375)
	at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:79)
	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:68)
	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
	at org.hibernate.engine.StatefulPersistenceContext.unproxyAndReassociate(StatefulPersistenceContext.java:537)
	at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:57)
	at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:775)
	at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:758)
	at org.hibernate.engine.CascadingAction$2.cascade(CascadingAction.java:121)
	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
	at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
	at org.hibernate.event.def.DefaultDeleteEventListener.cascadeAfterDelete(DefaultDeleteEventListener.java:292)
	at org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:240)
	at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:128)
	at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:49)
	at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
	at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
	at br.unig.scif.dao.Dao.remove(Dao.java:21)
	at br.unig.scif.bean.AlocaBean.deletarTurmasAction(AlocaBean.java:222)
	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:152)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
	at javax.faces.component.UICommand.broadcast(UICommand.java:383)
	at org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1131)
	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

Eu sou novato em hibernate, entao muitas coisas tenho feito baseado a exemplo que vejo no google, livros e apostilas.
eu suspeito que esse erro é na hora que esta utilizando o cascade em alguma das entidades, pois na hora do delete ele vai dando select em algumas tabelas, ate chegar em uma q ele dá esse erro.

Se alguem puder me ajudar.

Grato!