Зависит не, в чем Вы нуждаетесь. Производительность DB получила бы от целого числа, в то время как GUID полезны для репликация и не требующий для получения ответ от DB, какие идентификационные данные были созданы, т.е. код мог создать идентификационные данные GUID прежде, чем вставить в строку.
Если запрос не возвращает результата, getSingleResult()
генерирует исключение NoResultException . Вы уверены, что секунды MDB получат какие-либо результаты по вашему запросу?