get() vs load() Hibernate session comes with different methods to load data from database. get and load are most used methods, at first look they seems similar but there are some differences between them. when we use get() to retrieve data that doesn’t exists, it returns null. It fires database query and throws org.hibernate.ObjectNotFoundException if there is no record found with the given identifier. It’s hibernate specific Runtime Exception, so we don’t need to catch it explicitly./li> Hibernate first level cache Hibernate first level cache is associated with the Session object. Hibernate first level cache is enabled by default and there is no way to disable it. However hibernate provides methods through which we can delete selected objects from the cache or clear the cache completely. Any object cached in a session will not be visible to other sessions and when the session is closed, all the cached objects will also be lost.