All ways to access lists

Hello,
I’m a little bit confused regarding all ways to access list of an entity:

Example:
1.
List<Customer> list = dataManager.load(Customer.class).list();
2.
FluentLoader<Customer, UUID> customer = dataManager.load(Customer.class);
List<Customer> list = customer.list();
(by the way what is this FluentLoader?)
3.
private List<Customer> loadAllCustomers() {
LoadContext<Customer> loadContext = LoadContext.create(Customer.class);
return dataManager.loadList(loadContext);
}

There are the same??
However for instance, number two produce : [IllegalStateException: Cannot get unfetched attribute aaa from detached object bbb] even the related view is ok, has the second attribute property.

Best Regards,
-n

Hi,

(1) should be used in application code.
(2) is the same as (1), but it makes no sense to extract FluentLoader to a variable.
(3) is a generic way and used inside the framework.

All of them yield the same result if used properly. Actually (1) delegates to (3).

Thank you!