In an EAV system, I have a mapping that looks like this:
This works:
from Record rec left join rec.Values vals with vals.index = :field order by vals
Not exactly intuitive or well-documented, but it gets the job done.