Lazy Reference Collection Mapping
Upcoming Compass 2.1 M3 now has a new feature allowing for lazy loaded reference mapping in Compass when using it on top of collections. Reference mapping in Compass simply stores the relationship between one object and another (the ids), and many times there is no need to load all the references in advance while unmarshalling an object. Now, reference mappings on top of collections can be lazily loaded. Here is an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @Searchable public class Customer { @SearchableId private int id; @SearchableReference(lazy = Lazy.TRUE) private List<Order> orders; } @Searchable public class Order { @SearchableId private int id; } |
July 26th, 2008 at 2:16 pm
Shay,
Is it available in 2.0 M3 or 2.1.0 M3? I think it is a very important feature. Especially if you use OSEM it affects performance very seriously.
July 26th, 2008 at 2:27 pm
My typo, it is in upcoming 2.1 M3. I will fix the blog entry.
August 20th, 2008 at 8:38 am
Will this also be available from XML?
August 21st, 2008 at 1:47 pm
Sure. The reference element has a lazy attribute as well.
November 11th, 2008 at 7:30 am
Hey Shay,
I see that GA has come out. I can not find anything about using lazy in XML.
Can you point me in the right direction.
Thx!
November 11th, 2008 at 7:38 am
Reference element has a lazy attribute.
p.s. I suggest asking question on the forum, it is much simpler to track.