Apagando dados no Hibernate

4 respostas
rlaf

O Hibernate não está apagando os registros no banco:

Minha classe model:

//Imports...
@Entity
@Table(name="recado")
public class Recado {
 
	@Id
	@GeneratedValue
	private long id;
	
	@Column(name="mensagem", nullable=false)
	private String mensagem;
	
	@Column(name="data_criacao", nullable=false)
	private Date dataCriacao = new Date();
	
	@ManyToOne
	@JoinColumn(name="remetente", nullable=false)
	private Usuario remetente;
	
	@ManyToOne
	@JoinColumn(name="destinatario", nullable=false)
	private Usuario destinatario;
	
	public Recado(){}
//Métodos gets e sets....

}//Fim da classe

Método destinado a apagar os registros no banco:

public void apagar(Recado r) {
		try{
			this.tx = session.beginTransaction();
			this.session.delete(r);
			this.tx.commit();
			
		} catch(Exception e){
			
		}
	
	}//Fim do método apagar

A aplicação está executando o método, mais não sei pq o Hibernate não está apagando…

4 Respostas

rlaf

Já solucionei o problema…

Lavieri
rlaf:
Já solucionei o problema....

de toda forma, nunca faça isso:

public void apagar(Recado r) {  
     try{  
         this.tx = session.beginTransaction();  
         this.session.delete(r);  
         this.tx.commit();  
           
     } catch(Exception e){  
           // <<<< ===== NÃO FAÇA ISSO
     }  
   
}//Fim do método apagar

se vc da um supress desse em uma exceção, vai ter dificuldades em identificar o problema....

rlaf

Na anotação @OneToMany(mappedBy = “usuario1”), como faço para colocar o nome de mais de uma coluna em mappedBy.

Lavieri

ate onde sei não faz… tente @JoinColumns (repare no “s” no final):

@OneToMany
    @JoinColumns({
        @JoinColumn(name="ADDR_ID", referencedColumnName="ID"),
        @JoinColumn(name="ADDR_ZIP", referencedColumnName="ZIP")
    })
    public List<Address> getAddress() { ... }

Ps.: cuidado com relacionamentos 1-N

Criado 13 de outubro de 2009
Ultima resposta 14 de out. de 2009
Respostas 4
Participantes 2