Here are a few of the differences, read the
Hibernate reference for more details.
To use load() you need to know the object's identifier. If the object doesn't exist, load() throws an exception. load() returns a single entity.
get() takes an identifier and returns a single entity. It returns null if an object with that identifier is not found.
find() takes an HQL query instead of an identifier and returns a list of entities. (I think find() is deprecated in Hibernate 3.)
list() is similar to find() except it accepts parameters using a QueryParameters object instead of arrays and can accept a Criteria object as well as a
String with HQL.