Aggregated Hibernate Core JavaDocs

Hibernate provides both

Native API

In addition to {@link org.hibernate.SessionFactory} and {@link org.hibernate.Session}, applications using the native API will often need to utilize the following interfaces: These interfaces are fully intended to be exposed to application code.

JPA

The JPA interfaces are all defined by the JPA specification. For details see {@link javax.persistence}

Extensions

Hibernate defines a number of interfaces that are completely intended to be extendable by application programmers and/or integrators. Listed below is a (not necessarily exhaustive) list of the most commonly utilized extension points: Note that there is a large degree of crossover between the notion of extension points and that of an integration SPI (below).

Integration SPI

Hibernate provides a number of SPIs intended to integrate itself with various third party frameworks or application code to provide additional capabilities. The SPIs fall mainly into 2 categories: Certainly {@link org.hibernate.dialect.Dialect} could fit in here as well, though we chose to list it under extensions since application developers tend to provide extended dialects rather frequently for various reasons.
Another SPI that is not yet exposed but is planned for such is the bytecode provider SPI. See {@link org.hibernate.bytecode} for details.
Complete Hibernate documentation may be found online at http://docs.jboss.org/hibernate/.