because it missing alias for sub query
write as below
var Query = session.CreateSQLQuery(string.Format(SELECT * FROM(SELECT * FROM Users WHERE UserCode =
UNION
SELECT * FROM Users WHERE UserId IN (SELECT UserRoleId FROM UserRole WHERE UserId = (SELECT UserId FROM Users WHERE UserCode =
Happy coding!
:)