psdao.isAlreadyRegistered() implies the return value of a boolean this is apparently not the case, as the line after you are comparing it to null. I would rename that method as it is misleading. Since that method is apparently doing a fine by id and not finding a result a Hibernate exception is being thrown. For your code to operate properly you will need to add to you isAlreadyRegistered method the following:
That way if the query does not return results it returns null and your null check in the service class will evaluate correctly.