Pessoal
Estou usando Spring+Hibernate e precisaria excluir alguns registros do banco só que não é pelo ID do objeto mas sim por um outro campo então fiz o seguinte:
public void removeDisciplinaOfertadaHorarioPorDisciplinaOfertada(final Long codigoDisciplinaOfertada){
getHibernateTemplate().execute(new HibernateCallback() {
String deleteHorarioQuery = "from DisciplinaOfertadaHorario dhi where dhi.disciplinaOfertada.codigo = ?";
public Object doInHibernate(Session ses)
throws HibernateException {
ses.delete(deleteHorarioQuery, new Object[] { codigoDisciplinaOfertada });
return null;
}
});
}
Não sei o que tem de errado mas esta dando “exception is org.hibernate.MappingException Unknown entity” e esta entidade DisciplinaOfertadaHorario existe no meu mapeamento.
Desde já agradeço
O que acontece quando vc tenta carregar esta entidade? Funciona direitinho?
Vc já tentou fazer um teste preenchendo o ID manualmente, só para descargo de conciência?
Blz Franklin
Para caregar a entidade esta tudo funcionando normal, eu tenho um unitTest e tenho também a tela para cadastro deste horario e tudo funciona perfeito. Inclusive se mando deletar o objeto tipo assim:
[code] public final void removeDisciplinaOfertadaHorario(Long codigo) {
DisciplinaOfertadaHorario disciplinaOfertadaHorario = getDisciplinaOfertadaHorario(codigo);
getHibernateTemplate().delete(disciplinaOfertadaHorario);
}[/code]
isto funciona blz
Franklin
Consegui resolver o problema
até que enfim hehehe
tive que trocar o código para:
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
session.createQuery("delete DisciplinaOfertadaHorario dhi where dhi.disciplinaOfertada.codigo = (:codigoDisciplinaOfertada)")
.setParameter( "codigoDisciplinaOfertada", codigoDisciplinaOfertada )
.executeUpdate();
return null;
}
});
Agradeço a ajuda
Um abraço