HBM cascade

0 respostas
vinicius_roc

Olah pessoal!

Estou com o seguinte problema

Eu tenho uma tabela de avisos e uma tabela de avisosDestinatarios

Eu preciso que quando deletar um aviso dele todos os registros em avisosDestinatarios.

Oque estou achando estranho é que quando eu dou delete ele não exclui ele só faz um select em avisoDestinatario

Onde esta o erro por favor?? Não sei mais oque fazer

Método:
Session hSession = HibernateUtil.getSession();
		
		for(Integer idAviso : checkbox){
			
			IAvisoService iAvisoService = AbstractServiceFactory.getInstance().getAvisoService(getMcnWebAppSession());
			try {
				
				Aviso aviso = iAvisoService.getAvisoById(idAviso);
				
				AvisoDAO.getInstance().delete(aviso, hSession);
				
			} catch (ServiceException e) {
				log.error(e.getMessage(), e);
				return ERROR;
			}		
			
		}

Mapeamento Aviso

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.mcn.mlps.model.pojo">

	<class name="Aviso" table="AVISO"  >
		
		<id name="idAviso" 
			type="integer"
			column="idAviso">
			<meta attribute="use-in-equals">true</meta>
			<generator class="native">
				<param name="sequence">SEQ_USUARIO</param>
			</generator>
		</id>
		
		<property
			name="titulo"
			column="titulo"
			type="string"
			not-null="true"
			length="255" />
		
		<property
			name="texto"
			column="texto"
			type="string"
			not-null="true"
			length="255"
		/>
		
		<many-to-one
			name="icone"
			column="idIcone"
			class="IconeAviso"
			not-null="true"
		>
		</many-to-one>
		
		<property
			name="dataInicio"
			column="dataInicio"
			type="calendar"
			not-null="true"
			length="255"
		/>
		
		<property
			name="dataFim"
			column="dataFim"
			type="calendar"
			not-null="true"
		/>
		
		<set name="avisoDestinatario" cascade="delete">
			<key column="idAviso"/>
			<one-to-many class="AvisoDestinatario" />
		</set>
		
	</class>
</hibernate-mapping>
Mapeamento AvisoDestinatario
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.mcn.mlps.model.pojo">
  
  <class name="AvisoDestinatario" table="aviso_destinatario">
  
  		<id name="idAvisoDestinario" 
			type="integer"
			column="idAvisoDestinatario">
			<meta attribute="use-in-equals">true</meta>
			<generator class="native">
				<param name="sequence">SEQ_USUARIO</param>
			</generator>
		</id>
  
  		<many-to-one
			name="aviso"
			column="idAviso"
			class="Aviso"
			not-null="true"
		>
		</many-to-one>
		
		<many-to-one
			name="usuario"
			column="idUsuario"
			class="br.com.mcn.sso.model.pojo.Usuario"
			not-null="false"
		>
		</many-to-one>
		
		<many-to-one
			name="grupo"
			column="idGrupo"
			class="br.com.mcn.sso.model.pojo.Grupo"
			not-null="false"
		>
		</many-to-one>
		
  </class>
</hibernate-mapping>

Muito Obrigado

Criado 3 de novembro de 2009
Respostas 0
Participantes 1