Each EntityManager is responsible for
		managing the persistent identities of the managed objects in the
		persistence context.  The following methods allow you to interact 
		with the management of persistent identities.  The behavior of these
		methods is deeply affected by the persistence context type of the
		EntityManager; see 
		Section 7.3, “Persistence Context” for an
		explanation of persistence contexts.
		
public <T> T find (Class<T> cls, Object oid);
This method returns the persistent instance of the given type with the given persistent identity. If the instance is already present in the current persistence context, the cached version will be returned. Otherwise, a new instance will be constructed and loaded with state from the datastore. If no entity with the given type and identity exists in the datastore, this method returns null.
public <T> T getReference (Class<T> cls, Object oid);
		
		
		
		
		This method is similar to find, but does not
		necessarily go to the database when the entity is not found in cache.
		The implementation may construct a hollow entity 
		and return it to you instead.  Hollow entities do not have any
		state loaded.  The state only gets loaded when you attempt to access
		a persistent field.  At that time, the implementation may throw an
		EntityNotFoundException if it discovers that
		the entity does not exist in the datastore.  The implementation may
		also throw an EntityNotFoundException from
		the getReference method itself.  Unlike 
		find, getReference
		does not return null.
		
public boolean contains (Object entity);
Returns true if the given entity is part of the current persistence context, and false otherwise. Removed entities are not considered part of the current persistence context.
|    |