93 lines
4.5 KiB
HTML
93 lines
4.5 KiB
HTML
|
<!--
|
||
|
~ 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>
|