Supported hints are
- refresh: reload the fields from the database if set
- locale: use this locale instead of the one from the annotation or the default
- fallback: whether to try other languages or throw a not found
exception if the desired locale is not found. defaults to true if
not set and locale is not given either.
- prefetch: if set to false, do not attempt to prefetch related data.
(This makes sense when the caller already did this beforehand.)