Dae pessoal...
Estou desenvolvendo uma aplicação onde o usuário é que irá definir o ID no cadastro de cliente, com isso definir
o @GenericGenerator(name= "geradorMatricula", strategy="helper.GeradorMatricula").
Estou fazendo as validações e esta tudo certo, mas não consigo cancelar a persistência do objeto. Alguém ja teve esta experiência?
segue código:
public Serializable generate(SessionImplementor si, Object o) throws HibernateException {
CadastroAlunoEntity obj = (CadastroAlunoEntity) o;
int matricula = obj.getPkAluno();
try {
//Verifica se ja existe o registro
CadastroAlunoEntity c = (CadastroAlunoEntity) HibernateHelper.getById(CadastroAlunoEntity.class, matricula);
if (c != null) {
Mensageiro.errorMsg("A Matrícula informada já está em uso. Aluno " + c.getNome());
return null;//ele da erro se retorno nulo porque a transação é continuada, o que preciso é cancelar toda transação e retorna pra tela a mensagem.
}
}catch (Exception e) {
new DAOException(e.getMessage());
}
return new Integer(matricula);
}