better javadoc and docs for stateless session

git-svn-id: https://svn.jboss.org/repos/hibernate/trunk/Hibernate3/doc@7531 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
Gavin King 2005-07-18 06:46:41 +00:00
parent 497d4dff4d
commit 04abf391d1
1 changed files with 14 additions and 3 deletions

View File

@ -101,14 +101,15 @@ session.close();]]></programlisting>
Alternatively, Hibernate provides a command-oriented API that may be used for Alternatively, Hibernate provides a command-oriented API that may be used for
streaming data to and from the database in the form of detached objects. A streaming data to and from the database in the form of detached objects. A
<literal>StatelessSession</literal> has no persistence context associated <literal>StatelessSession</literal> has no persistence context associated
with it, and does not provide many of the higher-level ORM semantics. with it and does not provide many of the higher-level lifecycle semantics.
In particular, a stateless session does not implement a first-level cache nor In particular, a stateless session does not implement a first-level cache nor
interact with any second-level or query cache, nor does it implement interact with any second-level or query cache. It does not implement
transactional write-behind or automatic dirty checking. Operations performed transactional write-behind or automatic dirty checking. Operations performed
using a stateless session do not ever cascade to associated instances. Collections using a stateless session do not ever cascade to associated instances. Collections
are ignored by a stateless session. Operations performed via a stateless session are ignored by a stateless session. Operations performed via a stateless session
bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable
to data aliasing effects, due to the lack of a first-level cache. to data aliasing effects, due to the lack of a first-level cache. A stateless
session is a lower-level abstraction, much closer to the underlying JDBC.
</para> </para>
<programlisting><![CDATA[StatelessSession session = sessionFactory.openStatelessSession(); <programlisting><![CDATA[StatelessSession session = sessionFactory.openStatelessSession();
@ -130,6 +131,16 @@ session.close();]]></programlisting>
by the query are immediately detached. They are never associated with any persistence by the query are immediately detached. They are never associated with any persistence
context. context.
</para> </para>
<para>
The <literal>insert(), update()</literal> and <literal>delete()</literal> operations
defined by the <literal>StatelessSession</literal> interface are considered to be
direct database row-level operations, which result in immediate execution of a SQL
<literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus,
they have very different semantics to the <literal>save(), saveOrUpdate()</literal>
and <literal>delete()</literal> operations defined by the <literal>Session</literal>
interface.
</para>
</sect1> </sect1>