"You should not use [load] to determine if an instance exists (use get() instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error." [ September 30, 2008: Message edited by: Scott Selikoff ]
The interesting bit : load() may give you only a proxy with just the id loaded instead of the real entity. When working with collections, this can be particularly efficient in some cases since Hibernate may need only the id of the entity to be added as a foreign key. So effectively, you may be able to avoid doing a SELECT for that entity.