Пока у вас уже есть идентификатор в двоичном формате, запросить его просто:
byte[] id = ....;
em.createQuery(“SELECT x FROM TableName x WHERE x.id = ?1″, TableName.class).setParameter(1, id).getSingleResult();
На самом деле, если вы просто смотрите по первичному ключу, вы можете использовать
em.find(TableName.class, id);
Получение идентификатора в двоичном формате может быть затруднительным, особенно если вам нужно передать его в URL-адресах и т. Д. Я рекомендую кодировать / декодировать Base64; В кодеке Apache Commons есть вспомогательные методы: от байта [] до строки, безопасной для URL, а затем обратно к байту []