Problema para pegar exceção de chave estrangeira com JPA e Hibernate

Olá pessoal,

Estou tentando remover um registro, onde os mesmo tem uma chave estrangeira em outra tabela. O relacionamento é: pessoa e fotos, onde 1 pessoa pode possuir varias fotos.
Quando tento excluir a pessoa ele informa que foi exluido com sucesso, Só que no log ele mostra a seguinte mensagem:

Hibernate: delete from PESSOA where PES_CODIGO=? 13/05/2012 11:47:22 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 1451, SQLState: 23000 13/05/2012 11:47:22 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Cannot delete or update a parent row: a foreign key constraint fails (`teste`.`fotos`, CONSTRAINT `FK75A13139DC0B7D84` FOREIGN KEY (`PESSOA_CODIGO`) REFERENCES `PESSOA` (`PES_CODIGO`)) 13/05/2012 11:47:22 org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release INFO: HHH000010: On release of batch it still contained JDBC statements

Utilizando Cascade ele funciona. No entanto eu não queria que funcionasse assim. Gostaria de informar ao usuário o erro.
O problema é que não consigo pegar essa exceção, mesmo colocando o try catch no método que remove:

	public void remove(T entity) {
		manager = JPAUtil.getEntityManager();
		try {
			T entidade = manager.merge(entity);
			manager.remove(entidade);
		} catch (Throwable erro) {
			manager.getTransaction().rollback();
			erro.printStackTrace();
			throw new PersistenceException();
		}
	}

Alguém sabe o que está errado?

Desde já agradeço.