hibernate-orm/release/src/javadoc/package.html

93 lines
4.5 KiB
HTML
Raw Normal View History

<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ Copyright (c) 2010, Red Hat Inc. or third-party contributors as
~ indicated by the @author tags or express copyright attribution
~ statements applied by the authors. All third-party contributions are
~ distributed under license by Red Hat Inc.
~
~ This copyrighted material is made available to anyone wishing to use, modify,
~ copy, or redistribute it subject to the terms and conditions of the GNU
~ Lesser General Public License, as published by the Free Software Foundation.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
~ for more details.
~
~ You should have received a copy of the GNU Lesser General Public License
~ along with this distribution; if not, write to:
~ Free Software Foundation, Inc.
~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA
-->
<body>
<h2>Aggregated Hibernate Core JavaDocs</h2>
Hibernate provides both<ul>
<li>
a native API comprised mainly of {@link org.hibernate.SessionFactory} and {@link org.hibernate.Session}
</li>
<li>
an implementation of the <a href="">JSR-317</a> Java Persistence API (JPA) specification comprised mainly of
{@link org.hibernate.ejb.EntityManagerFactoryImpl} and {@link org.hibernate.ejb.EntityManagerImpl}
</li>
</ul>
<hr/>
<h3>Native API</h3>
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:<ul>
<li>{@link org.hibernate.cfg.Configuration}</li>
<li>{@link org.hibernate.Hibernate}</li>
<li>{@link org.hibernate.Transaction}</li>
<li>{@link org.hibernate.Query}</li>
<li>{@link org.hibernate.Criteria}</li>
<li>{@link org.hibernate.criterion.Projection}</li>
<li>{@link org.hibernate.criterion.Projections}</li>
<li>{@link org.hibernate.criterion.Criterion}</li>
<li>{@link org.hibernate.criterion.Restrictions}</li>
<li>{@link org.hibernate.criterion.Order}</li>
<li>{@link org.hibernate.criterion.Example}</li>
</ul>
These interfaces are fully intended to be exposed to application code.
<hr/>
<h3>JPA</h3>
The JPA interfaces are all defined by the JPA specification. For details see {@link javax.persistence}
<hr/>
<h3>Extensions</h3>
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:<ul>
<li>{@link org.hibernate.EntityNameResolver}</li>
<li>{@link org.hibernate.Interceptor} / {@link org.hibernate.EmptyInterceptor}</li>
<li>{@link org.hibernate.Transaction} / {@link org.hibernate.transaction.TransactionFactory}</li>
<li>{@link org.hibernate.context.CurrentSessionContext}</li>
<li>{@link org.hibernate.dialect.Dialect}</li>
<li>{@link org.hibernate.dialect.resolver.DialectResolver}</li>
<li>{@link org.hibernate.event event listener} interfaces</li>
<li>{@link org.hibernate.id.IdentifierGenerator}</li>
<li>{@link org.hibernate.tuple.entity.EntityTuplizer} / {@link org.hibernate.tuple.component.ComponentTuplizer}</li>
<li>{@link org.hibernate.type.Type} / {@link org.hibernate.usertype}</li>
</ul>
Note that there is a large degree of crossover between the notion of extension points and that of an integration SPI (below).
<hr/>
<h3>Integration SPI</h3>
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:<ul>
<li>Caching - {@link org.hibernate.cache.RegionFactory}</li>
<li>JDBC Connection management - {@link org.hibernate.connection.ConnectionProvider}
</ul>
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.
<br/>
Another SPI that is not yet exposed but is planned for such is the <em>bytecode provider</em> SPI. See {@link org.hibernate.bytecode}
for details.
<hr/>
Complete Hibernate documentation may be found online at <a href="http://docs.jboss.org/hibernate/">http://docs.jboss.org/hibernate/</a>.
</body>