Good question.
Several answers:
1. Partial object queries
2. Autofetch
3. This is a bug really - ignoring the fetch lazy annotation
1. Partial object queries
---------------------
With ebean you can specify which properties you want to fetch and exclude the Lob field (or whatever fields).
// explicitly specify the properties you want - aka "Partial Object" query
find order (id, status)
join details (quantity, price)
where ...
2. Autofetch
---------------------
I use Autofetch a lot and so it will exclude all the properties I don't use automatically for me. Nice but not for everyone and you can't use it in every situation.
3. This is a bug really - ignoring the fetch lazy annotation
---------------------
I think this is really a bug (oversight). That is, if you don't explicitly specify your properties via partial object query or use Autofetch then Ebean should be smart and honor the JPA Lazy loading annotations.
Right now, Ebean doesn't do that ... so I'll go and log that as a bug.
Logged as
http://www.avaje.org/bugdetail-161.htmlCheers, Rob.