select s.id,s.a.id,s.siteName from site s where s.a.id=:b
I cannot execute this statement.
ERROR:
Cannot create TypedQuery for query with more than one return using requested result type [com.a.b.entity.site]
Workaround for your sub question:
use these to convert to integer new Integer((int) object[0])