You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(22) |
Nov
(308) |
Dec
(131) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(369) |
Feb
(171) |
Mar
(236) |
Apr
(187) |
May
(218) |
Jun
(217) |
Jul
(127) |
Aug
(448) |
Sep
(270) |
Oct
(231) |
Nov
(422) |
Dec
(255) |
| 2004 |
Jan
(111) |
Feb
(73) |
Mar
(338) |
Apr
(351) |
May
(349) |
Jun
(495) |
Jul
(394) |
Aug
(1048) |
Sep
(499) |
Oct
(142) |
Nov
(269) |
Dec
(638) |
| 2005 |
Jan
(825) |
Feb
(1272) |
Mar
(593) |
Apr
(690) |
May
(950) |
Jun
(958) |
Jul
(767) |
Aug
(839) |
Sep
(525) |
Oct
(449) |
Nov
(585) |
Dec
(455) |
| 2006 |
Jan
(603) |
Feb
(656) |
Mar
(195) |
Apr
(114) |
May
(136) |
Jun
(100) |
Jul
(128) |
Aug
(68) |
Sep
(7) |
Oct
(1) |
Nov
(1) |
Dec
(8) |
| 2007 |
Jan
(4) |
Feb
(3) |
Mar
(8) |
Apr
(16) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(23) |
Sep
(15) |
Oct
(5) |
Nov
(7) |
Dec
(5) |
| 2008 |
Jan
(5) |
Feb
(1) |
Mar
(1) |
Apr
(5) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(2) |
| 2013 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <one...@us...> - 2003-02-01 00:16:34
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv27999/loader Modified Files: CollectionLoader.java EntityLoader.java OneToManyLoader.java Log Message: fixed a problem outerjoin loading many-to-manys with a repeated column name Index: CollectionLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/CollectionLoader.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CollectionLoader.java 26 Nov 2002 08:37:25 -0000 1.8 --- CollectionLoader.java 1 Feb 2003 00:16:31 -0000 1.9 *************** *** 38,42 **** int joins=associations.size(); suffixes = new String[joins]; ! for ( int i=0; i<joins; i++ ) suffixes[i] = (joins==1) ? "" : Integer.toString(i); sql = sqlSelect( --- 38,42 ---- int joins=associations.size(); suffixes = new String[joins]; ! for ( int i=0; i<joins; i++ ) suffixes[i] = Integer.toString(i) + '_'; sql = sqlSelect( Index: EntityLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/EntityLoader.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** EntityLoader.java 15 Jan 2003 12:52:40 -0000 1.13 --- EntityLoader.java 1 Feb 2003 00:16:31 -0000 1.14 *************** *** 36,40 **** int joins=associations.size(); suffixes = new String[joins+1]; ! for ( int i=0; i<=joins; i++ ) suffixes[i] = (joins==0) ? "" : Integer.toString(i); sql = sqlSelect( --- 36,40 ---- int joins=associations.size(); suffixes = new String[joins+1]; ! for ( int i=0; i<=joins; i++ ) suffixes[i] = (joins==0) ? "" : Integer.toString(i) + '_'; sql = sqlSelect( Index: OneToManyLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OneToManyLoader.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** OneToManyLoader.java 15 Jan 2003 12:52:40 -0000 1.15 --- OneToManyLoader.java 1 Feb 2003 00:16:31 -0000 1.16 *************** *** 46,50 **** int joins=associations.size(); suffixes = new String[joins+1]; ! for ( int i=0; i<=joins; i++ ) suffixes[i] = (joins==0) ? "" : Integer.toString(i); sql = sqlSelect( --- 46,50 ---- int joins=associations.size(); suffixes = new String[joins+1]; ! for ( int i=0; i<=joins; i++ ) suffixes[i] = (joins==0) ? "" : Integer.toString(i) + '_'; sql = sqlSelect( |
|
From: <one...@us...> - 2003-01-31 23:54:27
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type
In directory sc8-pr-cvs1:/tmp/cvs-serv21211
Modified Files:
ShortType.java
Log Message:
ShortType returns a Short
Index: ShortType.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/ShortType.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ShortType.java 22 Oct 2002 17:00:27 -0000 1.11
--- ShortType.java 31 Jan 2003 23:54:24 -0000 1.12
***************
*** 20,24 ****
public Class returnedClass() {
! return Integer.class;
}
--- 20,24 ----
public Class returnedClass() {
! return Short.class;
}
|
|
From: <one...@us...> - 2003-01-31 23:53:15
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type
In directory sc8-pr-cvs1:/tmp/cvs-serv20886
Modified Files:
ShortType.java
Log Message:
ShortType returns a Short
Index: ShortType.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type/ShortType.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ShortType.java 19 Jan 2003 11:47:08 -0000 1.4
--- ShortType.java 31 Jan 2003 23:53:11 -0000 1.5
***************
*** 20,24 ****
public Class getReturnedClass() {
! return Integer.class;
}
--- 20,24 ----
public Class getReturnedClass() {
! return Short.class;
}
|
|
From: <one...@us...> - 2003-01-31 23:48:38
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/cfg
In directory sc8-pr-cvs1:/tmp/cvs-serv19325
Modified Files:
Configuration.java
Log Message:
fixed default path to hibernate.cfg.xml
Index: Configuration.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/cfg/Configuration.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Configuration.java 31 Jan 2003 08:49:49 -0000 1.11
--- Configuration.java 31 Jan 2003 23:48:35 -0000 1.12
***************
*** 622,626 ****
*/
public Configuration configure() throws HibernateException {
! configure("hibernate.cfg.xml");
return this;
}
--- 622,626 ----
*/
public Configuration configure() throws HibernateException {
! configure("/hibernate.cfg.xml");
return this;
}
|
|
From: <one...@us...> - 2003-01-31 09:02:43
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/transaction
In directory sc8-pr-cvs1:/tmp/cvs-serv27988/sf/hibernate/transaction
Added Files:
JRun4TransactionManagerLookup.java
Log Message:
contributed by Joseph Bissen
--- NEW FILE: JRun4TransactionManagerLookup.java ---
package net.sf.hibernate.transaction;
public class JRun4TransactionManagerLookup extends JNDITransactionManagerLookup {
/**
* @see cirrus.hibernate.transaction.JNDITransactionManagerLookup#getName()
*/
protected String getName() {
return "java:/TransactionManager";
}
/**
* @see cirrus.hibernate.transaction.
* JNDITransactionManagerLookup#getUserTransactionName()
*/
public String getUserTransactionName() {
return "java:comp/UserTransaction";
}
}
|
|
From: <one...@us...> - 2003-01-31 09:02:14
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/transaction
In directory sc8-pr-cvs1:/tmp/cvs-serv27611/hibernate/transaction
Added Files:
JRun4TransactionManagerLookup.java
Log Message:
contributed by Joseph Bissen
--- NEW FILE: JRun4TransactionManagerLookup.java ---
package cirrus.hibernate.transaction;
public class JRun4TransactionManagerLookup extends JNDITransactionManagerLookup {
/**
* @see cirrus.hibernate.transaction.JNDITransactionManagerLookup#getName()
*/
protected String getName() {
return "java:/TransactionManager";
}
/**
* @see cirrus.hibernate.transaction.
* JNDITransactionManagerLookup#getUserTransactionName()
*/
public String getUserTransactionName() {
return "java:comp/UserTransaction";
}
}
|
|
From: <one...@us...> - 2003-01-31 08:50:56
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv21897/hibernate Modified Files: Query.java Log Message: added a warning to Javadoc Index: Query.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/Query.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Query.java 17 Jan 2003 10:27:10 -0000 1.19 --- Query.java 31 Jan 2003 08:50:49 -0000 1.20 *************** *** 41,48 **** * to JDBC).<br> * <br> ! * Queries are executed by calling <tt>list()</tt> or <tt>find()</tt>. A ! * query may be re-executed by subsequent invocations. Its lifespan is, ! * however, bounded by the lifespan of the <tt>Session</tt> that created ! * it.<br> * <br> * Implementors are not intended to be threadsafe. --- 41,51 ---- * to JDBC).<br> * <br> ! * You may not mix and match JDBC-style parameters and named parameters ! * in the same query.<br> ! * <br> ! * Queries are executed by calling <tt>list()</tt>, <tt>scroll()</tt> or ! * <tt>iterate()</tt>. A query may be re-executed by subsequent invocations. ! * Its lifespan is, however, bounded by the lifespan of the <tt>Session</tt> ! * that created it.<br> * <br> * Implementors are not intended to be threadsafe. |
|
From: <one...@us...> - 2003-01-31 08:50:56
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv21897/hibernate/impl Modified Files: QueryImpl.java Log Message: added a warning to Javadoc Index: QueryImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/QueryImpl.java,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** QueryImpl.java 17 Jan 2003 10:27:10 -0000 1.23 --- QueryImpl.java 31 Jan 2003 08:50:49 -0000 1.24 *************** *** 2,6 **** package cirrus.hibernate.impl; - import java.util.HashMap; import java.io.Serializable; import java.math.BigDecimal; --- 2,5 ---- *************** *** 10,17 **** import java.util.Collection; import java.util.Date; ! import java.util.Map; import java.util.Iterator; import java.util.List; import java.util.Locale; import cirrus.hibernate.Hibernate; --- 9,17 ---- import java.util.Collection; import java.util.Date; ! import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; + import java.util.Map; import cirrus.hibernate.Hibernate; *************** *** 21,25 **** import cirrus.hibernate.Query; import cirrus.hibernate.ScrollableResults; ! import cirrus.hibernate.engine.*; import cirrus.hibernate.helpers.ArrayHelper; import cirrus.hibernate.helpers.ReflectHelper; --- 21,25 ---- import cirrus.hibernate.Query; import cirrus.hibernate.ScrollableResults; ! import cirrus.hibernate.engine.SessionImplementor; import cirrus.hibernate.helpers.ArrayHelper; import cirrus.hibernate.helpers.ReflectHelper; |
|
From: <one...@us...> - 2003-01-31 08:50:00
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2ddl
In directory sc8-pr-cvs1:/tmp/cvs-serv21385/sf/hibernate/tool/hbm2ddl
Modified Files:
SchemaExport.java
Log Message:
fixed some silly errors in new config stuff
added a warning to the javadoc
added --config option to SchemaExport
Index: SchemaExport.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2ddl/SchemaExport.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SchemaExport.java 26 Jan 2003 01:33:36 -0000 1.6
--- SchemaExport.java 31 Jan 2003 08:49:50 -0000 1.7
***************
*** 230,234 ****
public static void main(String[] args) {
try {
! Configuration ds = new Configuration();
boolean script = true;
--- 230,234 ----
public static void main(String[] args) {
try {
! Configuration cfg = new Configuration();
boolean script = true;
***************
*** 263,274 ****
delimiter = args[i].substring(12);
}
}
else {
String filename = args[i];
if ( filename.endsWith( ".jar" ) ) {
! ds.addJar(filename);
}
else {
! ds.addFile(filename);
}
}
--- 263,277 ----
delimiter = args[i].substring(12);
}
+ else if ( args[i].startsWith("--config=") ) {
+ cfg.configure( args[i].substring(9) );
+ }
}
else {
String filename = args[i];
if ( filename.endsWith( ".jar" ) ) {
! cfg.addJar(filename);
}
else {
! cfg.addFile(filename);
}
}
***************
*** 278,285 ****
Properties props = new Properties();
props.load( new FileInputStream(propFile) );
! new SchemaExport(ds, props).setOutputFile(outputFile).execute(script, export, drop, formatSQL, delimiter);
}
else {
! new SchemaExport(ds).setOutputFile(outputFile).execute(script, export, drop, formatSQL, delimiter);
}
}
--- 281,288 ----
Properties props = new Properties();
props.load( new FileInputStream(propFile) );
! new SchemaExport(cfg, props).setOutputFile(outputFile).execute(script, export, drop, formatSQL, delimiter);
}
else {
! new SchemaExport(cfg).setOutputFile(outputFile).execute(script, export, drop, formatSQL, delimiter);
}
}
|
|
From: <one...@us...> - 2003-01-31 08:49:53
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test
In directory sc8-pr-cvs1:/tmp/cvs-serv21385/sf/hibernate/test
Modified Files:
FooBarTest.java
Log Message:
fixed some silly errors in new config stuff
added a warning to the javadoc
added --config option to SchemaExport
Index: FooBarTest.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/FooBarTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** FooBarTest.java 28 Jan 2003 10:22:21 -0000 1.16
--- FooBarTest.java 31 Jan 2003 08:49:50 -0000 1.17
***************
*** 811,814 ****
--- 811,822 ----
}
+ /*Query q = s.createQuery("from foo in class Foo where foo.string = ? or foo.string = ? or foo.string in (:list)");
+ q.setString(0, "foo");
+ q.setString(1, "bar");
+ List plist = new ArrayList();
+ plist.add("baz");
+ q.setParameterList("list", plist);
+ q.list();*/
+
List list = s.find("from foo in class net.sf.hibernate.test.Foo where foo.string='osama bin laden' and foo.boolean = true order by foo.string asc, foo.component.count desc");
assertTrue( list.size()==0, "empty query" );
|
|
From: <one...@us...> - 2003-01-31 08:49:53
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/cfg
In directory sc8-pr-cvs1:/tmp/cvs-serv21385/sf/hibernate/cfg
Modified Files:
Configuration.java
Log Message:
fixed some silly errors in new config stuff
added a warning to the javadoc
added --config option to SchemaExport
Index: Configuration.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/cfg/Configuration.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Configuration.java 28 Jan 2003 10:22:19 -0000 1.10
--- Configuration.java 31 Jan 2003 08:49:49 -0000 1.11
***************
*** 649,654 ****
addProperties(sfNode);
- Configuration ds = new Configuration();
-
NodeList mapElements = sfNode.getChildNodes();
for ( int j=0; j<mapElements.getLength(); j++ ) {
--- 649,652 ----
***************
*** 662,679 ****
log.debug(name + "<-" + rsrc);
try {
! ds.addResource( rsrc.getNodeValue(), Thread.currentThread().getContextClassLoader() );
}
catch (MappingException me) {
! ds.addResource( rsrc.getNodeValue(), Environment.class.getClassLoader() );
}
}
else if ( jar!=null ) {
log.debug(name + "<-" + jar);
! ds.addJar( jar.getNodeValue() );
}
else {
if (file==null) throw new HibernateException("<mapping> element in configuration specifies no attributes");
log.debug(name + "<-" + file);
! ds.addFile( file.getNodeValue() );
}
}
--- 660,677 ----
log.debug(name + "<-" + rsrc);
try {
! addResource( rsrc.getNodeValue(), Thread.currentThread().getContextClassLoader() );
}
catch (MappingException me) {
! addResource( rsrc.getNodeValue(), Environment.class.getClassLoader() );
}
}
else if ( jar!=null ) {
log.debug(name + "<-" + jar);
! addJar( jar.getNodeValue() );
}
else {
if (file==null) throw new HibernateException("<mapping> element in configuration specifies no attributes");
log.debug(name + "<-" + file);
! addFile( file.getNodeValue() );
}
}
|
|
From: <one...@us...> - 2003-01-31 08:49:52
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv21385/sf/hibernate Modified Files: Query.java hibernate-configuration-2.0.dtd Log Message: fixed some silly errors in new config stuff added a warning to the javadoc added --config option to SchemaExport Index: Query.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/Query.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Query.java 17 Jan 2003 10:27:41 -0000 1.6 --- Query.java 31 Jan 2003 08:49:49 -0000 1.7 *************** *** 41,48 **** * to JDBC).<br> * <br> ! * Queries are executed by calling <tt>list()</tt> or <tt>find()</tt>. A ! * query may be re-executed by subsequent invocations. Its lifespan is, ! * however, bounded by the lifespan of the <tt>Session</tt> that created ! * it.<br> * <br> * Implementors are not intended to be threadsafe. --- 41,51 ---- * to JDBC).<br> * <br> ! * You may not mix and match JDBC-style parameters and named parameters ! * in the same query.<br> ! * <br> ! * Queries are executed by calling <tt>list()</tt>, <tt>scroll()</tt> or ! * <tt>iterate()</tt>. A query may be re-executed by subsequent invocations. ! * Its lifespan is, however, bounded by the lifespan of the <tt>Session</tt> ! * that created it.<br> * <br> * Implementors are not intended to be threadsafe. Index: hibernate-configuration-2.0.dtd =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hibernate-configuration-2.0.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hibernate-configuration-2.0.dtd 28 Jan 2003 10:24:22 -0000 1.1 --- hibernate-configuration-2.0.dtd 31 Jan 2003 08:49:49 -0000 1.2 *************** *** 11,15 **** --> ! <ELEMENT hibernate-configuration (session-factory)> <!ELEMENT property (#PCDATA)> --- 11,15 ---- --> ! <!ELEMENT hibernate-configuration (session-factory)> <!ELEMENT property (#PCDATA)> |
|
From: <one...@us...> - 2003-01-31 08:27:41
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type
In directory sc8-pr-cvs1:/tmp/cvs-serv13796/hibernate/type
Modified Files:
ComponentType.java
Log Message:
don't need to call setParent() from deepCopy()
Index: ComponentType.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/ComponentType.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -C2 -d -r1.49 -r1.50
*** ComponentType.java 30 Nov 2002 08:27:27 -0000 1.49
--- ComponentType.java 31 Jan 2003 08:27:38 -0000 1.50
***************
*** 209,213 ****
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null) parentSetter.set(inst, parent);
return inst;
}
--- 209,213 ----
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null && parent!=null) parentSetter.set(inst, parent);
return inst;
}
|
|
From: <one...@us...> - 2003-01-31 08:26:42
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type
In directory sc8-pr-cvs1:/tmp/cvs-serv13559/hibernate/type
Modified Files:
ComponentType.java
Log Message:
don't need to call setParent() from deepCopy()
Index: ComponentType.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type/ComponentType.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ComponentType.java 19 Jan 2003 11:47:08 -0000 1.4
--- ComponentType.java 31 Jan 2003 08:26:38 -0000 1.5
***************
*** 209,213 ****
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null) parentSetter.set(inst, parent);
return inst;
}
--- 209,213 ----
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null && parent!=null) parentSetter.set(inst, parent);
return inst;
}
|
|
From: <one...@us...> - 2003-01-30 13:14:40
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv25207 Removed Files: hibernate-mapping-1.1.dtd hibernate-mapping.dtd Log Message: removed obsolete dtds --- hibernate-mapping-1.1.dtd DELETED --- --- hibernate-mapping.dtd DELETED --- |
|
From: <one...@us...> - 2003-01-30 13:04:03
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv20356/hibernate/impl
Modified Files:
CollectionPersister.java
Log Message:
fixed a problem where a null value in a list or map one-to-many caused an exception on update
Index: CollectionPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/CollectionPersister.java,v
retrieving revision 1.88
retrieving revision 1.89
diff -C2 -d -r1.88 -r1.89
*** CollectionPersister.java 14 Jan 2003 13:01:08 -0000 1.88
--- CollectionPersister.java 30 Jan 2003 13:04:00 -0000 1.89
***************
*** 659,663 ****
while ( entries.hasNext() ) {
Object entry = entries.next();
! if ( entry!=null || collection.needsUpdating(entry, i, elementType) ) {
if (insst==null) insst = session.getBatcher().prepareBatchStatement( getSQLInsertRowString() );
writeKey(insst, id, false, session);
--- 659,663 ----
while ( entries.hasNext() ) {
Object entry = entries.next();
! if ( entry!=null && collection.needsUpdating(entry, i, elementType) ) {
if (insst==null) insst = session.getBatcher().prepareBatchStatement( getSQLInsertRowString() );
writeKey(insst, id, false, session);
|
|
From: <one...@us...> - 2003-01-30 13:03:15
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/engine
In directory sc8-pr-cvs1:/tmp/cvs-serv20043/sf/hibernate/engine
Added Files:
CollectionSnapshot.java
Log Message:
more efficient collection update()s (keep a snapshot)
fixed a problem where null values in one-to-many lists and maps caused an exception
--- NEW FILE: CollectionSnapshot.java ---
//$Id: CollectionSnapshot.java,v 1.1 2003/01/30 13:03:12 oneovthafew Exp $
package net.sf.hibernate.engine;
import java.io.Serializable;
public interface CollectionSnapshot extends Serializable {
public Serializable getLoadedKey();
public String getLoadedPersisterRole();
public Serializable getSnapshot();
public boolean getDirty();
public void setDirty();
}
|
|
From: <one...@us...> - 2003-01-30 13:02:35
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv19702/sf/hibernate/impl
Modified Files:
SessionImpl.java
Log Message:
more efficient collection update()s (keep a snapshot)
fixed a problem where null values in one-to-many lists and maps caused an exception
Index: SessionImpl.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** SessionImpl.java 28 Jan 2003 10:22:19 -0000 1.14
--- SessionImpl.java 30 Jan 2003 13:02:30 -0000 1.15
***************
*** 205,209 ****
* of a collection w.r.t its persistent state
*/
! static final class CollectionEntry implements Serializable {
boolean dirty;
transient boolean reached;
--- 205,209 ----
* of a collection w.r.t its persistent state
*/
! public static final class CollectionEntry implements CollectionSnapshot, Serializable {
boolean dirty;
transient boolean reached;
***************
*** 213,220 ****
transient boolean dorecreate;
boolean initialized;
! CollectionPersister currentPersister;
CollectionPersister loadedPersister;
! Serializable currentID;
! Serializable loadedID;
Serializable snapshot; // session-start/post-flush persistent state
CollectionEntry() {
--- 213,220 ----
transient boolean dorecreate;
boolean initialized;
! transient CollectionPersister currentPersister;
CollectionPersister loadedPersister;
! transient Serializable currentKey;
! Serializable loadedKey;
Serializable snapshot; // session-start/post-flush persistent state
CollectionEntry() {
***************
*** 225,231 ****
this.dirty = false;
this.initialized = initialized;
! this.loadedID = loadedID;
this.loadedPersister = loadedPersister;
}
//default behavior; will be overridden in deep lazy collections
boolean isDirty(PersistentCollection coll) throws HibernateException {
--- 225,238 ----
this.dirty = false;
this.initialized = initialized;
! this.loadedKey = loadedID;
this.loadedPersister = loadedPersister;
}
+ CollectionEntry(CollectionSnapshot cs, SessionFactoryImplementor factory) throws MappingException {
+ this.dirty = cs.getDirty();
+ this.snapshot = cs.getSnapshot();
+ this.loadedKey = cs.getLoadedKey();
+ this.loadedPersister = factory.getCollectionPersister( cs.getLoadedPersisterRole() );
+ this.initialized = true;
+ }
//default behavior; will be overridden in deep lazy collections
boolean isDirty(PersistentCollection coll) throws HibernateException {
***************
*** 246,250 ****
if ( log.isDebugEnabled() && dirty && loadedPersister!=null ) log.debug(
! "Collection dirty: " + infoString(loadedPersister, loadedID)
);
--- 253,257 ----
if ( log.isDebugEnabled() && dirty && loadedPersister!=null ) log.debug(
! "Collection dirty: " + infoString(loadedPersister, loadedKey)
);
***************
*** 262,266 ****
if (!processed) throw new AssertionFailure("Hibernate has a bug processing collections");
! loadedID = currentID;
loadedPersister = currentPersister;
dirty = false;
--- 269,273 ----
if (!processed) throw new AssertionFailure("Hibernate has a bug processing collections");
! loadedKey = currentKey;
loadedPersister = currentPersister;
dirty = false;
***************
*** 269,272 ****
--- 276,295 ----
}
}
+ public boolean getDirty() {
+ return dirty;
+ }
+ public Serializable getLoadedKey() {
+ return loadedKey;
+ }
+ public String getLoadedPersisterRole() {
+ return loadedPersister.getRole();
+ }
+ public Serializable getSnapshot() {
+ return snapshot;
+ }
+ public void setDirty() {
+ dirty = true;
+ }
+
}
***************
*** 475,479 ****
//add a new collection (ie. an initialized one)
private void addCollectionEntry(PersistentCollection collection) {
! collections.put( collection, new CollectionEntry() );
}
--- 498,504 ----
//add a new collection (ie. an initialized one)
private void addCollectionEntry(PersistentCollection collection) {
! CollectionEntry ce = new CollectionEntry();
! collections.put(collection, ce);
! collection.setCollectionSnapshot(ce);
}
***************
*** 919,934 ****
}
//TODO: rename this method
private void removeCollectionsFor(Type type, Serializable id, Object value) throws HibernateException {
if ( type.isPersistentCollectionType() ) {
! CollectionPersister role = getCollectionPersister( ( (PersistentCollectionType) type ).getRole() );
! if ( value!=null && (value instanceof PersistentCollection) && !( (PersistentCollection) value ).wasInitialized() ) {
PersistentCollection coll = (PersistentCollection) value;
! if ( coll.setSession(this) ) {
! addUninitializedCollection(coll, role, id);
}
}
else {
! collectionRemovals.add( new ScheduledCollectionRemove(role, id, this) );
}
}
--- 944,974 ----
}
+ private void removeCollection(CollectionPersister role, Serializable id) {
+ collectionRemovals.add( new ScheduledCollectionRemove(role, id, this) );
+ }
+
//TODO: rename this method
private void removeCollectionsFor(Type type, Serializable id, Object value) throws HibernateException {
if ( type.isPersistentCollectionType() ) {
! CollectionPersister persister = getCollectionPersister( ( (PersistentCollectionType) type ).getRole() );
! if ( value!=null && (value instanceof PersistentCollection) ) {
PersistentCollection coll = (PersistentCollection) value;
! if ( coll.wasInitialized() ) {
! CollectionSnapshot cs = coll.getCollectionSnapshot();
! if (cs!=null && cs.getLoadedPersisterRole().equals( persister.getRole() ) && cs.getLoadedKey().equals(id) ) {
! if ( coll.setSession(this) ) addInitializedCollection(coll, cs);
! }
! else {
! removeCollection(persister, id);
! }
! }
! else {
! if ( coll.setSession(this) ) {
! addUninitializedCollection(coll, persister, id);
! }
}
}
else {
! removeCollection(persister, id);
}
}
***************
*** 2058,2064 ****
//TODO: move this to the entry
! if ( ce.dorecreate ) collectionCreations.add( new ScheduledCollectionRecreate(coll, ce.currentPersister, ce.currentID, this) );
! if ( ce.doremove ) collectionRemovals.add( new ScheduledCollectionRemove(ce.loadedPersister, ce.loadedID, this) );
! if ( ce.doupdate ) collectionUpdates.add( new ScheduledCollectionUpdate(coll, ce.loadedPersister, ce.loadedID, this) );
}
--- 2098,2104 ----
//TODO: move this to the entry
! if ( ce.dorecreate ) collectionCreations.add( new ScheduledCollectionRecreate(coll, ce.currentPersister, ce.currentKey, this) );
! if ( ce.doremove ) collectionRemovals.add( new ScheduledCollectionRemove(ce.loadedPersister, ce.loadedKey, this) );
! if ( ce.doupdate ) collectionUpdates.add( new ScheduledCollectionUpdate(coll, ce.loadedPersister, ce.loadedKey, this) );
}
***************
*** 2179,2188 ****
CollectionPersister persister = getCollectionPersister( ( (PersistentCollectionType) type).getRole() );
ce.currentPersister = persister;
! ce.currentID = getEntityIdentifier(owner);
if ( log.isDebugEnabled() ) {
log.debug(
! "Collection found: " + infoString(persister, ce.currentID) +
! ", was: " + infoString(ce.loadedPersister, ce.loadedID)
);
}
--- 2219,2228 ----
CollectionPersister persister = getCollectionPersister( ( (PersistentCollectionType) type).getRole() );
ce.currentPersister = persister;
! ce.currentKey = getEntityIdentifier(owner);
if ( log.isDebugEnabled() ) {
log.debug(
! "Collection found: " + infoString(persister, ce.currentKey) +
! ", was: " + infoString(ce.loadedPersister, ce.loadedKey)
);
}
***************
*** 2231,2238 ****
CollectionEntry entry = getCollectionEntry(coll);
if ( log.isDebugEnabled() && entry.loadedPersister!=null ) log.debug(
! "Collection dereferenced: " + infoString(entry.loadedPersister, entry.loadedID)
);
entry.currentPersister=null;
! entry.currentID=null;
prepareCollectionForUpdate(coll, entry);
--- 2271,2278 ----
CollectionEntry entry = getCollectionEntry(coll);
if ( log.isDebugEnabled() && entry.loadedPersister!=null ) log.debug(
! "Collection dereferenced: " + infoString(entry.loadedPersister, entry.loadedKey)
);
entry.currentPersister=null;
! entry.currentKey=null;
prepareCollectionForUpdate(coll, entry);
***************
*** 2250,2254 ****
if (
entry.loadedPersister!=entry.currentPersister || // if either its role changed,
! !entry.currentPersister.getKeyType().equals(entry.loadedID, entry.currentID) // or its key changed (for nested collections)
) {
--- 2290,2294 ----
if (
entry.loadedPersister!=entry.currentPersister || // if either its role changed,
! !entry.currentPersister.getKeyType().equals(entry.loadedKey, entry.currentKey) // or its key changed (for nested collections)
) {
***************
*** 2339,2343 ****
// add a collection we just loaded up (still needs initializing)
public void addUninitializedCollection(PersistentCollection collection, CollectionPersister persister, Serializable id) {
! collections.put( collection, new CollectionEntry(persister, id, false) );
}
--- 2379,2385 ----
// add a collection we just loaded up (still needs initializing)
public void addUninitializedCollection(PersistentCollection collection, CollectionPersister persister, Serializable id) {
! CollectionEntry ce = new CollectionEntry(persister, id, false);
! collections.put(collection, ce);
! collection.setCollectionSnapshot(ce);
}
***************
*** 2347,2350 ****
--- 2389,2399 ----
ce.postInitialize(collection);
collections.put(collection, ce);
+ collection.setCollectionSnapshot(ce);
+ }
+
+ private void addInitializedCollection(PersistentCollection collection, CollectionSnapshot cs) throws HibernateException {
+ CollectionEntry ce = new CollectionEntry(cs, factory);
+ collections.put(collection, ce);
+ collection.setCollectionSnapshot(ce);
}
***************
*** 2370,2374 ****
public Serializable getLoadedCollectionKey(PersistentCollection coll) {
! return getCollectionEntry(coll).loadedID;
}
--- 2419,2423 ----
public Serializable getLoadedCollectionKey(PersistentCollection coll) {
! return getCollectionEntry(coll).loadedKey;
}
***************
*** 2386,2393 ****
//if (closed) throw new LazyInitializationException( "Hibernate failed trying to load a collection - the session is closed" );
! if ( log.isTraceEnabled() ) log.trace( "initializing collection " + infoString(ce.loadedPersister, ce.loadedID) );
CollectionPersister persister = ce.loadedPersister;
! Serializable id = ce.loadedID;
Object owner = getEntity( new Key( id, getPersister( persister.getOwnerClass() ) ) );
--- 2435,2442 ----
//if (closed) throw new LazyInitializationException( "Hibernate failed trying to load a collection - the session is closed" );
! if ( log.isTraceEnabled() ) log.trace( "initializing collection " + infoString(ce.loadedPersister, ce.loadedKey) );
CollectionPersister persister = ce.loadedPersister;
! Serializable id = ce.loadedKey;
Object owner = getEntity( new Key( id, getPersister( persister.getOwnerClass() ) ) );
***************
*** 2551,2555 ****
}
! values[0] = e.loadedID;
types[0] = e.loadedPersister.getKeyType();
--- 2600,2604 ----
}
! values[0] = e.loadedKey;
types[0] = e.loadedPersister.getKeyType();
|
|
From: <one...@us...> - 2003-01-30 13:02:33
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection
In directory sc8-pr-cvs1:/tmp/cvs-serv19702/sf/hibernate/collection
Modified Files:
CollectionPersister.java PersistentCollection.java
Log Message:
more efficient collection update()s (keep a snapshot)
fixed a problem where null values in one-to-many lists and maps caused an exception
Index: CollectionPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/CollectionPersister.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** CollectionPersister.java 27 Jan 2003 07:12:03 -0000 1.7
--- CollectionPersister.java 30 Jan 2003 13:02:29 -0000 1.8
***************
*** 592,596 ****
while ( entries.hasNext() ) {
Object entry = entries.next();
! if ( entry!=null || collection.needsUpdating(entry, i, elementType) ) {
if (insst==null) insst = session.getBatcher().prepareBatchStatement( getSQLInsertRowString() );
writeKey(insst, id, false, session);
--- 592,596 ----
while ( entries.hasNext() ) {
Object entry = entries.next();
! if ( entry!=null && collection.needsUpdating(entry, i, elementType) ) {
if (insst==null) insst = session.getBatcher().prepareBatchStatement( getSQLInsertRowString() );
writeKey(insst, id, false, session);
Index: PersistentCollection.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/collection/PersistentCollection.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** PersistentCollection.java 28 Jan 2003 10:22:19 -0000 1.5
--- PersistentCollection.java 30 Jan 2003 13:02:30 -0000 1.6
***************
*** 15,18 ****
--- 15,19 ----
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.LazyInitializationException;
+ import net.sf.hibernate.engine.CollectionSnapshot;
import net.sf.hibernate.engine.SessionImplementor;
import net.sf.hibernate.type.Type;
***************
*** 43,49 ****
public abstract class PersistentCollection implements Serializable {
protected transient SessionImplementor session;
protected boolean initialized;
! private transient List additions;
//Careful: these methods do not initialize the collection.
--- 44,52 ----
public abstract class PersistentCollection implements Serializable {
+
protected transient SessionImplementor session;
protected boolean initialized;
! private transient List additions;
! private CollectionSnapshot collectionSnapshot;
//Careful: these methods do not initialize the collection.
***************
*** 59,63 ****
protected final void write() {
initialize(true);
! if ( session!=null && session.isOpen() ) session.dirty(this);
}
--- 62,71 ----
protected final void write() {
initialize(true);
! if ( session!=null && session.isOpen() ) {
! session.dirty(this);
! }
! else {
! collectionSnapshot.setDirty();
! }
}
***************
*** 514,517 ****
--- 522,541 ----
public PersistentCollection() {}
+ /**
+ * Returns the collectionSnapshot.
+ * @return CollectionSnapshot
+ */
+ public CollectionSnapshot getCollectionSnapshot() {
+ return collectionSnapshot;
+ }
+
+ /**
+ * Sets the collectionSnapshot.
+ * @param collectionSnapshot The collectionSnapshot to set
+ */
+ public void setCollectionSnapshot(CollectionSnapshot collectionSnapshot) {
+ this.collectionSnapshot = collectionSnapshot;
+ }
+
}
|
|
From: <one...@us...> - 2003-01-29 12:55:00
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect
In directory sc8-pr-cvs1:/tmp/cvs-serv26490/net/sf/hibernate/dialect
Added Files:
IngresDialect.java
Log Message:
Ingres dialect contributed by Ian Booth
--- NEW FILE: IngresDialect.java ---
//$Id: IngresDialect.java,v 1.1 2003/01/29 12:54:57 oneovthafew Exp $
package net.sf.hibernate.dialect;
import java.sql.Types;
/**
* An Ingres SQL dialect
*/
public class IngresDialect extends Dialect {
public IngresDialect() {
super();
register( Types.BIT, "BYTE" );
register( Types.BIGINT, "INTEGER4" );
register( Types.SMALLINT, "INTEGER2" );
register( Types.TINYINT, "INTEGER1" );
register( Types.INTEGER, "INTEGER4" );
register( Types.CHAR, "CHAR(1)" );
register( Types.CHAR, "CHAR($1)" );
register( Types.VARCHAR, "VARCHAR($l)" );
register( Types.FLOAT, "FLOAT" );
register( Types.DOUBLE, "DOUBLE PRECISION" );
register( Types.DATE, "DATE" );
register( Types.TIME, "DATE" );
register( Types.TIMESTAMP, "DATE" );
register( Types.VARBINARY, "VARBINARY($l)" );
register( Types.NUMERIC, "NUMERIC(19, $l)" );
register( Types.BLOB, "LONG VARCHAR" );
register( Types.CLOB, "LONG VARCHAR" );
register( Types.VARBINARY, "LONG VARCHAR" );
}
public String getAddColumnString() {
return "add column";
}
/**
* Do we need to drop constraints before dropping tables in this dialect?
* @return boolean
*/
public boolean dropConstraints() {
return false;
}
}
|
|
From: <one...@us...> - 2003-01-29 12:52:52
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/sql
In directory sc8-pr-cvs1:/tmp/cvs-serv25653/hibernate/sql
Added Files:
IngresDialect.java
Log Message:
Ingres dialect contributed by Ian Booth
--- NEW FILE: IngresDialect.java ---
//$Id: IngresDialect.java,v 1.1 2003/01/29 12:52:48 oneovthafew Exp $
package cirrus.hibernate.sql;
import java.sql.Types;
/**
* An Ingres SQL dialect
*/
public class IngresDialect extends Dialect {
public IngresDialect() {
super();
register( Types.BIT, "BYTE" );
register( Types.BIGINT, "INTEGER4" );
register( Types.SMALLINT, "INTEGER2" );
register( Types.TINYINT, "INTEGER1" );
register( Types.INTEGER, "INTEGER4" );
register( Types.CHAR, "CHAR(1)" );
register( Types.CHAR, "CHAR($1)" );
register( Types.VARCHAR, "VARCHAR($l)" );
register( Types.FLOAT, "FLOAT" );
register( Types.DOUBLE, "DOUBLE PRECISION" );
register( Types.DATE, "DATE" );
register( Types.TIME, "DATE" );
register( Types.TIMESTAMP, "DATE" );
register( Types.VARBINARY, "VARBINARY($l)" );
register( Types.NUMERIC, "NUMERIC(19, $l)" );
register( Types.BLOB, "LONG VARCHAR" );
register( Types.CLOB, "LONG VARCHAR" );
register( Types.VARBINARY, "LONG VARCHAR" );
}
public String getAddColumnString() {
return "add column";
}
/**
* Do we need to drop constraints before dropping tables in this dialect?
* @return boolean
*/
public boolean dropConstraints() {
return false;
}
}
|
|
From: <tu...@us...> - 2003-01-28 14:13:34
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/html_single
In directory sc8-pr-cvs1:/tmp/cvs-serv21841/html_single
Modified Files:
index.html
Log Message:
Doco update
Index: index.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html_single/index.html,v
retrieving revision 1.87
retrieving revision 1.88
diff -C2 -d -r1.87 -r1.88
*** index.html 26 Nov 2002 08:14:57 -0000 1.87
--- index.html 28 Jan 2003 14:12:56 -0000 1.88
***************
*** 1,5 ****
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
! <title>Hibernate Reference Documentation</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.49"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>Hibernate Reference Documentation</h1></div><div><h2 class="subtitle">Relational Persistence for Idiomatic Java</h2></div><div><h2 class="subtitle">http://hibernate.sourceforge.net/</h2></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#architecture">Architecture</a></dt><dd><dl><dt><a href="#architecture-s1">Overview</a></dt><dt><a href="#architecture-s2">Persistent Object Identity</a></dt><dt><a href="#architecture-s3">JMX Integration</a></dt></dl></dd><dt>2. <a href="#session-configuration">SessionFactory Configuration</a></dt><dd><dl><dt><a href="#session-configuration-s1">Programmatic Datastore Configuration</a></dt><dt><a href="#session-configuration-s2">Obtaining a SessionFactory</a></dt><dt><a href="#session-configuration-s3">User provided JDBC connection</a></dt><dt><a href="#session-configuration-s4">Hibernate provided JDBC connection</a></dt><dt><a href="#session-configuration-s5">Other properties</a></dt><dt><a href="#session-configuration-s6">XML Configuration File</a></dt><dt><a href="#session-configuration-s7">Logging</a></dt></dl></dd><dt>3. <a href="#persistent-classes">Persistent Classes</a></dt><dd><dl><dt><a href="#persistent-classes-s1">Simple Example</a></dt><dd><dl><dt><a href="#persistent-classes-s1-1">Declare accessors and mutators for persistent fields</a></dt><dt><a href="#persistent-classes-s1-2">Implement a default constructor</a></dt><dt><a href="#persistent-classes-s1-3">Provide an identifier property (optional)</a></dt></dl></dd><dt><a href="#persistent-classes-s2">Inheritance</a></dt><dt><a href="#persistent-classes-s3">Persistent Lifecycle Callbacks</a></dt><dt><a href="#persistent-classes-s4">Validatable</a></dt></dl></dd><dt>4. <a href="#or-mapping">Basic O/R Mapping</a></dt><dd><dl><dt><a href="#or-mapping-s1">Mapping declaration</a></dt><dd><dl><dt><a href="#or-mapping-s1-1">Doctype</a></dt><dt><a href="#or-mapping-s1-2">hibernate-mapping</a></dt><dt><a href="#or-mapping-s1-3">class</a></dt><dt><a href="#or-mapping-s1-4">id</a></dt><dt><a href="#or-mapping-s1-4b">composite-id</a></dt><dt><a href="#or-mapping-s1-5">discriminator</a></dt><dt><a href="#or-mapping-s1-6">version (optional)</a></dt><dt><a href="#or-mapping-s1-6b">timestamp (optional)</a></dt><dt><a href="#or-mapping-s1-7">property</a></dt><dt><a href="#or-mapping-s1-8">many-to-one</a></dt><dt><a href="#or-mapping-s1-9">one-to-one</a></dt><dt><a href="#or-mapping-s1-10">component</a></dt><dt><a href="#or-mapping-s1-11">subclass</a></dt><dt><a href="#or-mapping-s1-11b">joined-subclass</a></dt><dt><a href="#or-mapping-s1-12">map, set, list, bag</a></dt></dl></dd><dt><a href="#or-mapping-s2">Hibernate Types</a></dt><dd><dl><dt><a href="#or-mapping-s2-1">Entities and values</a></dt><dt><a href="#or-mapping-s2-2">Basic value types</a></dt><dt><a href="#or-mapping-s2-3">Persistent enum types</a></dt><dt><a href="#or-mapping-s2-4">Custom value types</a></dt><dt><a href="#or-mapping-s2-5">The object type</a></dt></dl></dd></dl></dd><dt>5. <a href="#adv-or-mapping">Advanced O/R Mapping</a></dt><dd><dl><dt><a href="#adv-or-mapping-s1">Collections</a></dt><dd><dl><dt><a href="#adv-or-mapping-s1-1">Persistent Collection Styles</a></dt><dt><a href="#adv-or-mapping-s1-2">Toplevel and Nested Collections</a></dt><dt><a href="#adv-or-mapping-s1-3">Mapping a Collection</a></dt><dt><a href="#adv-or-mapping-s1-4">Mapping a Property to a Toplevel Collection</a></dt><dt><a href="#adv-or-mapping-s1-5">Collections of Values and Many To Many Associations</a></dt><dt><a href="#adv-or-mapping-s1-6">One To Many Associations</a></dt><dt><a href="#adv-or-mapping-s1-7">Lazy Initialization</a></dt><dt><a href="#adv-or-mapping-s1-8">Sorted Collections</a></dt><dt><a href="#adv-or-mapping-s1-9">Garbage Collection</a></dt><dt><a href="#adv-or-mapping-s1-10">Bidirectional Associations</a></dt><dt><a href="#adv-or-mapping-s1-11">Ternary Associations</a></dt><dt><a href="#adv-or-mapping-s1-12">Collection Example</a></dt></dl></dd><dt><a href="#adv-or-mapping-s2">Components</a></dt><dd><dl><dt><a href="#adv-or-mapping-s2-1">As Dependent Objects</a></dt><dt><a href="#adv-or-mapping-s2-2">In Collections</a></dt><dt><a href="#adv-or-mapping-s2-2b">As a Map Index</a></dt><dt><a href="#adv-or-mapping-s2-3">As Composite Identifiers</a></dt></dl></dd><dt><a href="#adv-or-mapping-s3">Cache</a></dt><dd><dl><dt><a href="#adv-or-mapping-s3-1">Mapping</a></dt><dt><a href="#adv-or-mapping-s3-2">Read Only Cache</a></dt><dt><a href="#adv-or-mapping-s3-3">Read / Write Cache</a></dt></dl></dd><dt><a href="#adv-or-mapping-s4">Proxies for Lazy Initialization</a></dt></dl></dd><dt>6. <a href="#manipulating-data">Manipulating Persistent Data</a></dt><dd><dl><dt><a href="#manipulating-data-s1">Creating a persistent object</a></dt><dt><a href="#manipulating-data-s2">Loading an object</a></dt><dt><a href="#manipulating-data-s3">Querying</a></dt><dd><dl><dt><a href="#manipulating-data-s4">Scalar queries</a></dt><dt><a href="#manipulating-data-s5">The Query interface</a></dt><dt><a href="#manipulating-data-s5b">Scrollable iteration</a></dt><dt><a href="#manipulating-data-s6">Filtering collections</a></dt></dl></dd><dt><a href="#manipulating-data-s7">Updating objects saved or loaded in the current session</a></dt><dt><a href="#manipulating-data-s8">Updating objects saved or loaded in a previous session</a></dt><dt><a href="#manipulating-data-s9">Deleting persistent objects</a></dt><dt><a href="#manipulating-data-s10">Graphs of objects</a></dt><dd><dl><dt><a href="#manipulating-data-s11a">Lifecycle objects</a></dt><dt><a href="#manipulating-data-s11b">Persistence by Reachability</a></dt></dl></dd><dt><a href="#manipulating-data-s12">Flushing</a></dt><dt><a href="#manipulating-data-s13">Ending a Session</a></dt><dd><dl><dt><a href="#manipulating-data-s13-1">Flushing the session</a></dt><dt><a href="#manipulating-data-s13-2">Committing the transaction</a></dt><dt><a href="#manipulating-data-s13-3">Closing the session</a></dt><dt><a href="#manipulating-data-s13-4">Exception handling</a></dt></dl></dd><dt><a href="#manipulating-data-s14">Interceptors</a></dt></dl></dd><dt>7. <a href="#query-language">Hibernate Query Language</a></dt><dd><dl><dt><a href="#query-language-s1">Case Sensitivity</a></dt><dt><a href="#query-language-s2">The from clause</a></dt><dt><a href="#query-language-s3">The select clause</a></dt><dt><a href="#query-language-s3b">polymorphism</a></dt><dt><a href="#query-language-s4">from collections</a></dt><dt><a href="#query-language-s5">The where clause</a></dt><dt><a href="#query-language-s6">Expressions</a></dt><dt><a href="#query-language-s7">The order by clause</a></dt><dt><a href="#query-language-s8">The group by clause</a></dt><dt><a href="#query-language-s9">Subqueries</a></dt></dl></dd><dt>8. <a href="#transactions">Transactions And Concurrency</a></dt><dd><dl><dt><a href="#transactions-s1">Datastores, Sessions and Factories</a></dt><dt><a href="#transactions-s2">Threads and connections</a></dt><dt><a href="#transactions-s3">Optimistic Locking / Versioning</a></dt><dd><dl><dt><a href="#transactions-s3-1">Long session with automatic versioning</a></dt><dt><a href="#transactions-s3-2">Many sessions with automatic versioning</a></dt><dt><a href="#transactions-s3-3">Application version checking</a></dt></dl></dd><dt><a href="#transactions-s4">Session disconnection</a></dt><dt><a href="#transactions-s5">Pessimistic Locking</a></dt></dl></dd><dt>9. <a href="#examples">Examples</a></dt><dd><dl><dt><a href="#examples-s0">Employer / Employee</a></dt><dt><a href="#examples-s1">Author / Work</a></dt><dt><a href="#examples-s2">Customer / Order / Product</a></dt></dl></dd><dt>10. <a href="#best-practices">Best Practices</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="architecture"></a>Chapter 1. Architecture</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#architecture-s1">Overview</a></dt><dt><a href="#architecture-s2">Persistent Object Identity</a></dt><dt><a href="#architecture-s3">JMX Integration</a></dt></dl></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="architecture-s1"></a>Overview</h2></div></div><p>
A (very) high-level view of the Hibernate architecture:
</p><div class="mediaobject"><img src="../images/overview.gif" align="center"></div><p>
--- 1,5 ----
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
! <title>Hibernate Reference Documentation</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.49"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>Hibernate Reference Documentation</h1></div><div><h2 class="subtitle">Relational Persistence for Idiomatic Java</h2></div><div><h2 class="subtitle">http://hibernate.sourceforge.net/</h2></div><div><h2 class="subtitle">Version: 1.2.3</h2></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#architecture">Architecture</a></dt><dd><dl><dt><a href="#architecture-s1">Overview</a></dt><dt><a href="#architecture-s2">Persistent Object Identity</a></dt><dt><a href="#architecture-s3">JMX Integration</a></dt></dl></dd><dt>2. <a href="#session-configuration">SessionFactory Configuration</a></dt><dd><dl><dt><a href="#session-configuration-s1">Programmatic Datastore Configuration</a></dt><dt><a href="#session-configuration-s2">Obtaining a SessionFactory</a></dt><dt><a href="#session-configuration-s3">User provided JDBC connection</a></dt><dt><a href="#session-configuration-s4">Hibernate provided JDBC connection</a></dt><dt><a href="#session-configuration-s5">Other properties</a></dt><dt><a href="#session-configuration-s6">XML Configuration File</a></dt><dt><a href="#session-configuration-s7">Logging</a></dt></dl></dd><dt>3. <a href="#persistent-classes">Persistent Classes</a></dt><dd><dl><dt><a href="#persistent-classes-s1">Simple Example</a></dt><dd><dl><dt><a href="#persistent-classes-s1-1">Declare accessors and mutators for persistent fields</a></dt><dt><a href="#persistent-classes-s1-2">Implement a default constructor</a></dt><dt><a href="#persistent-classes-s1-3">Provide an identifier property (optional)</a></dt></dl></dd><dt><a href="#persistent-classes-s2">Inheritance</a></dt><dt><a href="#persistent-classes-s3">Persistent Lifecycle Callbacks</a></dt><dt><a href="#persistent-classes-s4">Validatable</a></dt></dl></dd><dt>4. <a href="#or-mapping">Basic O/R Mapping</a></dt><dd><dl><dt><a href="#or-mapping-s1">Mapping declaration</a></dt><dd><dl><dt><a href="#or-mapping-s1-1">Doctype</a></dt><dt><a href="#or-mapping-s1-2">hibernate-mapping</a></dt><dt><a href="#or-mapping-s1-3">class</a></dt><dt><a href="#or-mapping-s1-4">id</a></dt><dt><a href="#or-mapping-s1-4b">composite-id</a></dt><dt><a href="#or-mapping-s1-5">discriminator</a></dt><dt><a href="#or-mapping-s1-6">version (optional)</a></dt><dt><a href="#or-mapping-s1-6b">timestamp (optional)</a></dt><dt><a href="#or-mapping-s1-7">property</a></dt><dt><a href="#or-mapping-s1-8">many-to-one</a></dt><dt><a href="#or-mapping-s1-9">one-to-one</a></dt><dt><a href="#or-mapping-s1-10">component</a></dt><dt><a href="#or-mapping-s1-11">subclass</a></dt><dt><a href="#or-mapping-s1-11b">joined-subclass</a></dt><dt><a href="#or-mapping-s1-12">map, set, list, bag</a></dt></dl></dd><dt><a href="#or-mapping-s2">Hibernate Types</a></dt><dd><dl><dt><a href="#or-mapping-s2-1">Entities and values</a></dt><dt><a href="#or-mapping-s2-2">Basic value types</a></dt><dt><a href="#or-mapping-s2-3">Persistent enum types</a></dt><dt><a href="#or-mapping-s2-4">Custom value types</a></dt><dt><a href="#or-mapping-s2-5">The object type</a></dt></dl></dd></dl></dd><dt>5. <a href="#adv-or-mapping">Advanced O/R Mapping</a></dt><dd><dl><dt><a href="#adv-or-mapping-s1">Collections</a></dt><dd><dl><dt><a href="#adv-or-mapping-s1-1">Persistent Collection Styles</a></dt><dt><a href="#adv-or-mapping-s1-2">Toplevel and Nested Collections</a></dt><dt><a href="#adv-or-mapping-s1-3">Mapping a Collection</a></dt><dt><a href="#adv-or-mapping-s1-4">Mapping a Property to a Toplevel Collection</a></dt><dt><a href="#adv-or-mapping-s1-5">Collections of Values and Many To Many Associations</a></dt><dt><a href="#adv-or-mapping-s1-6">One To Many Associations</a></dt><dt><a href="#adv-or-mapping-s1-7">Lazy Initialization</a></dt><dt><a href="#adv-or-mapping-s1-8">Sorted Collections</a></dt><dt><a href="#adv-or-mapping-s1-9">Garbage Collection</a></dt><dt><a href="#adv-or-mapping-s1-10">Bidirectional Associations</a></dt><dt><a href="#adv-or-mapping-s1-11">Ternary Associations</a></dt><dt><a href="#adv-or-mapping-s1-12">Collection Example</a></dt></dl></dd><dt><a href="#adv-or-mapping-s2">Components</a></dt><dd><dl><dt><a href="#adv-or-mapping-s2-1">As Dependent Objects</a></dt><dt><a href="#adv-or-mapping-s2-2">In Collections</a></dt><dt><a href="#adv-or-mapping-s2-2b">As a Map Index</a></dt><dt><a href="#adv-or-mapping-s2-3">As Composite Identifiers</a></dt></dl></dd><dt><a href="#adv-or-mapping-s3">Cache</a></dt><dd><dl><dt><a href="#adv-or-mapping-s3-1">Mapping</a></dt><dt><a href="#adv-or-mapping-s3-2">Read Only Cache</a></dt><dt><a href="#adv-or-mapping-s3-3">Read / Write Cache</a></dt></dl></dd><dt><a href="#adv-or-mapping-s4">Proxies for Lazy Initialization</a></dt></dl></dd><dt>6. <a href="#manipulating-data">Manipulating Persistent Data</a></dt><dd><dl><dt><a href="#manipulating-data-s1">Creating a persistent object</a></dt><dt><a href="#manipulating-data-s2">Loading an object</a></dt><dt><a href="#manipulating-data-s3">Querying</a></dt><dd><dl><dt><a href="#manipulating-data-s4">Scalar queries</a></dt><dt><a href="#manipulating-data-s5">The Query interface</a></dt><dt><a href="#manipulating-data-s5b">Scrollable iteration</a></dt><dt><a href="#manipulating-data-s6">Filtering collections</a></dt></dl></dd><dt><a href="#manipulating-data-s7">Updating objects saved or loaded in the current session</a></dt><dt><a href="#manipulating-data-s8">Updating objects saved or loaded in a previous session</a></dt><dt><a href="#manipulating-data-s9">Deleting persistent objects</a></dt><dt><a href="#manipulating-data-s10">Graphs of objects</a></dt><dd><dl><dt><a href="#manipulating-data-s11a">Lifecycle objects</a></dt><dt><a href="#manipulating-data-s11b">Persistence by Reachability</a></dt></dl></dd><dt><a href="#manipulating-data-s12">Flushing</a></dt><dt><a href="#manipulating-data-s13">Ending a Session</a></dt><dd><dl><dt><a href="#manipulating-data-s13-1">Flushing the session</a></dt><dt><a href="#manipulating-data-s13-2">Committing the transaction</a></dt><dt><a href="#manipulating-data-s13-3">Closing the session</a></dt><dt><a href="#manipulating-data-s13-4">Exception handling</a></dt></dl></dd><dt><a href="#manipulating-data-s14">Interceptors</a></dt></dl></dd><dt>7. <a href="#query-language">Hibernate Query Language</a></dt><dd><dl><dt><a href="#query-language-s1">Case Sensitivity</a></dt><dt><a href="#query-language-s2">The from clause</a></dt><dt><a href="#query-language-s3">The select clause</a></dt><dt><a href="#query-language-s3b">polymorphism</a></dt><dt><a href="#query-language-s4">from collections</a></dt><dt><a href="#query-language-s5">The where clause</a></dt><dt><a href="#query-language-s6">Expressions</a></dt><dt><a href="#query-language-s7">The order by clause</a></dt><dt><a href="#query-language-s8">The group by clause</a></dt><dt><a href="#query-language-s9">Subqueries</a></dt></dl></dd><dt>8. <a href="#transactions">Transactions And Concurrency</a></dt><dd><dl><dt><a href="#transactions-s1">Datastores, Sessions and Factories</a></dt><dt><a href="#transactions-s2">Threads and connections</a></dt><dt><a href="#transactions-s3">Optimistic Locking / Versioning</a></dt><dd><dl><dt><a href="#transactions-s3-1">Long session with automatic versioning</a></dt><dt><a href="#transactions-s3-2">Many sessions with automatic versioning</a></dt><dt><a href="#transactions-s3-3">Application version checking</a></dt></dl></dd><dt><a href="#transactions-s4">Session disconnection</a></dt><dt><a href="#transactions-s5">Pessimistic Locking</a></dt></dl></dd><dt>9. <a href="#examples">Examples</a></dt><dd><dl><dt><a href="#examples-s0">Employer / Employee</a></dt><dt><a href="#examples-s1">Author / Work</a></dt><dt><a href="#examples-s2">Customer / Order / Product</a></dt></dl></dd><dt>10. <a href="#best-practices">Best Practices</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="architecture"></a>Chapter 1. Architecture</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#architecture-s1">Overview</a></dt><dt><a href="#architecture-s2">Persistent Object Identity</a></dt><dt><a href="#architecture-s3">JMX Integration</a></dt></dl></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="architecture-s1"></a>Overview</h2></div></div><p>
A (very) high-level view of the Hibernate architecture:
</p><div class="mediaobject"><img src="../images/overview.gif" align="center"></div><p>
***************
*** 246,251 ****
connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with
! Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name to used by <tt>JTATransactionFactory</tt> to
! obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
listed here, your Hibernate queries need not specify the full class name of a
--- 246,251 ----
connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with
! Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name used by <tt>JTATransactionFactory</tt> to
! obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_lookup_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
listed here, your Hibernate queries need not specify the full class name of a
***************
*** 298,302 ****
If you wish to use JVM-level caching of mutable data in a JTA environment, you must specify
a strategy for obtaining the JTA <tt>TransactionManager</tt>.
! </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>cirrus.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>cirrus.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>cirrus.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>cirrus.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr></table><p>
If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify
a name (eg. <tt>hibernate/session_factory</tt>) as using the property
--- 298,302 ----
If you wish to use JVM-level caching of mutable data in a JTA environment, you must specify
a strategy for obtaining the JTA <tt>TransactionManager</tt>.
! </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>cirrus.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>cirrus.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>cirrus.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>cirrus.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr><tr><td><tt>cirrus.hibernate.transaction.ResinTransactionManagerLookup</tt></td><td>for Resin</td></tr></table><p>
If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify
a name (eg. <tt>hibernate/session_factory</tt>) as using the property
***************
*** 1885,1889 ****
or where serializable transaction isolation level is needed. If the cache is used in
a JTA environment, you must specify the property
! <tt>hibernate.transaction.manager_class</tt>, naming a strategy for obtaining
the JTA <tt>TransactionManager</tt>. In other environments, you should ensure
that the transaction is completed when <tt>Session.close()</tt> or
--- 1885,1889 ----
or where serializable transaction isolation level is needed. If the cache is used in
a JTA environment, you must specify the property
! <tt>hibernate.transaction.manager_lookup_class</tt>, naming a strategy for obtaining
the JTA <tt>TransactionManager</tt>. In other environments, you should ensure
that the transaction is completed when <tt>Session.close()</tt> or
***************
*** 2481,2485 ****
The <tt>Interceptor</tt> interface provides callbacks from the session to the
application allowing the application to inspect and / or manipulate properties of a
! persistent object before it is saved, updated or deleted and after it is loaded. One
possible use for this is to track auditing information. For example, the following
<tt>Interceptor</tt> automatically sets the <tt>createTimestamp</tt>
--- 2481,2485 ----
The <tt>Interceptor</tt> interface provides callbacks from the session to the
application allowing the application to inspect and / or manipulate properties of a
! persistent object before it is saved, updated, deleted or loaded. One
possible use for this is to track auditing information. For example, the following
<tt>Interceptor</tt> automatically sets the <tt>createTimestamp</tt>
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/html
In directory sc8-pr-cvs1:/tmp/cvs-serv21841/html
Modified Files:
adv-or-mapping.html index.html manipulating-data.html
session-configuration.html
Log Message:
Doco update
Index: adv-or-mapping.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/adv-or-mapping.html,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** adv-or-mapping.html 26 Nov 2002 08:14:57 -0000 1.28
--- adv-or-mapping.html 28 Jan 2003 14:12:51 -0000 1.29
***************
*** 676,680 ****
or where serializable transaction isolation level is needed. If the cache is used in
a JTA environment, you must specify the property
! <tt>hibernate.transaction.manager_class</tt>, naming a strategy for obtaining
the JTA <tt>TransactionManager</tt>. In other environments, you should ensure
that the transaction is completed when <tt>Session.close()</tt> or
--- 676,680 ----
or where serializable transaction isolation level is needed. If the cache is used in
a JTA environment, you must specify the property
! <tt>hibernate.transaction.manager_lookup_class</tt>, naming a strategy for obtaining
the JTA <tt>TransactionManager</tt>. In other environments, you should ensure
that the transaction is completed when <tt>Session.close()</tt> or
Index: index.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/index.html,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** index.html 26 Nov 2002 08:14:58 -0000 1.37
--- index.html 28 Jan 2003 14:12:52 -0000 1.38
***************
*** 1,3 ****
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
! <title>Hibernate Reference Documentation</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.49"><link rel="home" href="index.html" title="Hibernate Reference Documentation"><link rel="next" href="architecture.html" title="Chapter 1. Architecture"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Hibernate Reference Documentation</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="architecture.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>Hibernate Reference Documentation</h1></div><div><h2 class="subtitle">Relational Persistence for Idiomatic Java</h2></div><div><h2 class="subtitle">http://hibernate.sourceforge.net/</h2></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="architecture.html">Architecture</a></dt><dd><dl><dt><a href="architecture.html#architecture-s1">Overview</a></dt><dt><a href="architecture.html#architecture-s2">Persistent Object Identity</a></dt><dt><a href="architecture.html#architecture-s3">JMX Integration</a></dt></dl></dd><dt>2. <a href="session-configuration.html">SessionFactory Configuration</a></dt><dd><dl><dt><a href="session-configuration.html#session-configuration-s1">Programmatic Datastore Configuration</a></dt><dt><a href="session-configuration.html#session-configuration-s2">Obtaining a SessionFactory</a></dt><dt><a href="session-configuration.html#session-configuration-s3">User provided JDBC connection</a></dt><dt><a href="session-configuration.html#session-configuration-s4">Hibernate provided JDBC connection</a></dt><dt><a href="session-configuration.html#session-configuration-s5">Other properties</a></dt><dt><a href="session-configuration.html#session-configuration-s6">XML Configuration File</a></dt><dt><a href="session-configuration.html#session-configuration-s7">Logging</a></dt></dl></dd><dt>3. <a href="persistent-classes.html">Persistent Classes</a></dt><dd><dl><dt><a href="persistent-classes.html#persistent-classes-s1">Simple Example</a></dt><dd><dl><dt><a href="persistent-classes.html#persistent-classes-s1-1">Declare accessors and mutators for persistent fields</a></dt><dt><a href="persistent-classes.html#persistent-classes-s1-2">Implement a default constructor</a></dt><dt><a href="persistent-classes.html#persistent-classes-s1-3">Provide an identifier property (optional)</a></dt></dl></dd><dt><a href="persistent-classes.html#persistent-classes-s2">Inheritance</a></dt><dt><a href="persistent-classes.html#persistent-classes-s3">Persistent Lifecycle Callbacks</a></dt><dt><a href="persistent-classes.html#persistent-classes-s4">Validatable</a></dt></dl></dd><dt>4. <a href="or-mapping.html">Basic O/R Mapping</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s1">Mapping declaration</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s1-1">Doctype</a></dt><dt><a href="or-mapping.html#or-mapping-s1-2">hibernate-mapping</a></dt><dt><a href="or-mapping.html#or-mapping-s1-3">class</a></dt><dt><a href="or-mapping.html#or-mapping-s1-4">id</a></dt><dt><a href="or-mapping.html#or-mapping-s1-4b">composite-id</a></dt><dt><a href="or-mapping.html#or-mapping-s1-5">discriminator</a></dt><dt><a href="or-mapping.html#or-mapping-s1-6">version (optional)</a></dt><dt><a href="or-mapping.html#or-mapping-s1-6b">timestamp (optional)</a></dt><dt><a href="or-mapping.html#or-mapping-s1-7">property</a></dt><dt><a href="or-mapping.html#or-mapping-s1-8">many-to-one</a></dt><dt><a href="or-mapping.html#or-mapping-s1-9">one-to-one</a></dt><dt><a href="or-mapping.html#or-mapping-s1-10">component</a></dt><dt><a href="or-mapping.html#or-mapping-s1-11">subclass</a></dt><dt><a href="or-mapping.html#or-mapping-s1-11b">joined-subclass</a></dt><dt><a href="or-mapping.html#or-mapping-s1-12">map, set, list, bag</a></dt></dl></dd><dt><a href="or-mapping.html#or-mapping-s2">Hibernate Types</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s2-1">Entities and values</a></dt><dt><a href="or-mapping.html#or-mapping-s2-2">Basic value types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-3">Persistent enum types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-4">Custom value types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-5">The object type</a></dt></dl></dd></dl></dd><dt>5. <a href="adv-or-mapping.html">Advanced O/R Mapping</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s1">Collections</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-1">Persistent Collection Styles</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-2">Toplevel and Nested Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-3">Mapping a Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-4">Mapping a Property to a Toplevel Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-5">Collections of Values and Many To Many Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-6">One To Many Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-7">Lazy Initialization</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-8">Sorted Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-9">Garbage Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-10">Bidirectional Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-11">Ternary Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-12">Collection Example</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s2">Components</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-1">As Dependent Objects</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-2">In Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-2b">As a Map Index</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-3">As Composite Identifiers</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s3">Cache</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-1">Mapping</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-2">Read Only Cache</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-3">Read / Write Cache</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s4">Proxies for Lazy Initialization</a></dt></dl></dd><dt>6. <a href="manipulating-data.html">Manipulating Persistent Data</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s1">Creating a persistent object</a></dt><dt><a href="manipulating-data.html#manipulating-data-s2">Loading an object</a></dt><dt><a href="manipulating-data.html#manipulating-data-s3">Querying</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s4">Scalar queries</a></dt><dt><a href="manipulating-data.html#manipulating-data-s5">The Query interface</a></dt><dt><a href="manipulating-data.html#manipulating-data-s5b">Scrollable iteration</a></dt><dt><a href="manipulating-data.html#manipulating-data-s6">Filtering collections</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s7">Updating objects saved or loaded in the current session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s8">Updating objects saved or loaded in a previous session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s9">Deleting persistent objects</a></dt><dt><a href="manipulating-data.html#manipulating-data-s10">Graphs of objects</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s11a">Lifecycle objects</a></dt><dt><a href="manipulating-data.html#manipulating-data-s11b">Persistence by Reachability</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s12">Flushing</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13">Ending a Session</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s13-1">Flushing the session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-2">Committing the transaction</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-3">Closing the session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-4">Exception handling</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s14">Interceptors</a></dt></dl></dd><dt>7. <a href="query-language.html">Hibernate Query Language</a></dt><dd><dl><dt><a href="query-language.html#query-language-s1">Case Sensitivity</a></dt><dt><a href="query-language.html#query-language-s2">The from clause</a></dt><dt><a href="query-language.html#query-language-s3">The select clause</a></dt><dt><a href="query-language.html#query-language-s3b">polymorphism</a></dt><dt><a href="query-language.html#query-language-s4">from collections</a></dt><dt><a href="query-language.html#query-language-s5">The where clause</a></dt><dt><a href="query-language.html#query-language-s6">Expressions</a></dt><dt><a href="query-language.html#query-language-s7">The order by clause</a></dt><dt><a href="query-language.html#query-language-s8">The group by clause</a></dt><dt><a href="query-language.html#query-language-s9">Subqueries</a></dt></dl></dd><dt>8. <a href="transactions.html">Transactions And Concurrency</a></dt><dd><dl><dt><a href="transactions.html#transactions-s1">Datastores, Sessions and Factories</a></dt><dt><a href="transactions.html#transactions-s2">Threads and connections</a></dt><dt><a href="transactions.html#transactions-s3">Optimistic Locking / Versioning</a></dt><dd><dl><dt><a href="transactions.html#transactions-s3-1">Long session with automatic versioning</a></dt><dt><a href="transactions.html#transactions-s3-2">Many sessions with automatic versioning</a></dt><dt><a href="transactions.html#transactions-s3-3">Application version checking</a></dt></dl></dd><dt><a href="transactions.html#transactions-s4">Session disconnection</a></dt><dt><a href="transactions.html#transactions-s5">Pessimistic Locking</a></dt></dl></dd><dt>9. <a href="examples.html">Examples</a></dt><dd><dl><dt><a href="examples.html#examples-s0">Employer / Employee</a></dt><dt><a href="examples.html#examples-s1">Author / Work</a></dt><dt><a href="examples.html#examples-s2">Customer / Order / Product</a></dt></dl></dd><dt>10. <a href="best-practices.html">Best Practices</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="architecture.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Architecture</td></tr></table></div></body></html>
\ No newline at end of file
--- 1,3 ----
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
! <title>Hibernate Reference Documentation</title><link rel="stylesheet" href="../style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.49"><link rel="home" href="index.html" title="Hibernate Reference Documentation"><link rel="next" href="architecture.html" title="Chapter 1. Architecture"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Hibernate Reference Documentation</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="architecture.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><h1 class="title"><a name="d0e1"></a>Hibernate Reference Documentation</h1></div><div><h2 class="subtitle">Relational Persistence for Idiomatic Java</h2></div><div><h2 class="subtitle">http://hibernate.sourceforge.net/</h2></div><div><h2 class="subtitle">Version: 1.2.3</h2></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="architecture.html">Architecture</a></dt><dd><dl><dt><a href="architecture.html#architecture-s1">Overview</a></dt><dt><a href="architecture.html#architecture-s2">Persistent Object Identity</a></dt><dt><a href="architecture.html#architecture-s3">JMX Integration</a></dt></dl></dd><dt>2. <a href="session-configuration.html">SessionFactory Configuration</a></dt><dd><dl><dt><a href="session-configuration.html#session-configuration-s1">Programmatic Datastore Configuration</a></dt><dt><a href="session-configuration.html#session-configuration-s2">Obtaining a SessionFactory</a></dt><dt><a href="session-configuration.html#session-configuration-s3">User provided JDBC connection</a></dt><dt><a href="session-configuration.html#session-configuration-s4">Hibernate provided JDBC connection</a></dt><dt><a href="session-configuration.html#session-configuration-s5">Other properties</a></dt><dt><a href="session-configuration.html#session-configuration-s6">XML Configuration File</a></dt><dt><a href="session-configuration.html#session-configuration-s7">Logging</a></dt></dl></dd><dt>3. <a href="persistent-classes.html">Persistent Classes</a></dt><dd><dl><dt><a href="persistent-classes.html#persistent-classes-s1">Simple Example</a></dt><dd><dl><dt><a href="persistent-classes.html#persistent-classes-s1-1">Declare accessors and mutators for persistent fields</a></dt><dt><a href="persistent-classes.html#persistent-classes-s1-2">Implement a default constructor</a></dt><dt><a href="persistent-classes.html#persistent-classes-s1-3">Provide an identifier property (optional)</a></dt></dl></dd><dt><a href="persistent-classes.html#persistent-classes-s2">Inheritance</a></dt><dt><a href="persistent-classes.html#persistent-classes-s3">Persistent Lifecycle Callbacks</a></dt><dt><a href="persistent-classes.html#persistent-classes-s4">Validatable</a></dt></dl></dd><dt>4. <a href="or-mapping.html">Basic O/R Mapping</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s1">Mapping declaration</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s1-1">Doctype</a></dt><dt><a href="or-mapping.html#or-mapping-s1-2">hibernate-mapping</a></dt><dt><a href="or-mapping.html#or-mapping-s1-3">class</a></dt><dt><a href="or-mapping.html#or-mapping-s1-4">id</a></dt><dt><a href="or-mapping.html#or-mapping-s1-4b">composite-id</a></dt><dt><a href="or-mapping.html#or-mapping-s1-5">discriminator</a></dt><dt><a href="or-mapping.html#or-mapping-s1-6">version (optional)</a></dt><dt><a href="or-mapping.html#or-mapping-s1-6b">timestamp (optional)</a></dt><dt><a href="or-mapping.html#or-mapping-s1-7">property</a></dt><dt><a href="or-mapping.html#or-mapping-s1-8">many-to-one</a></dt><dt><a href="or-mapping.html#or-mapping-s1-9">one-to-one</a></dt><dt><a href="or-mapping.html#or-mapping-s1-10">component</a></dt><dt><a href="or-mapping.html#or-mapping-s1-11">subclass</a></dt><dt><a href="or-mapping.html#or-mapping-s1-11b">joined-subclass</a></dt><dt><a href="or-mapping.html#or-mapping-s1-12">map, set, list, bag</a></dt></dl></dd><dt><a href="or-mapping.html#or-mapping-s2">Hibernate Types</a></dt><dd><dl><dt><a href="or-mapping.html#or-mapping-s2-1">Entities and values</a></dt><dt><a href="or-mapping.html#or-mapping-s2-2">Basic value types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-3">Persistent enum types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-4">Custom value types</a></dt><dt><a href="or-mapping.html#or-mapping-s2-5">The object type</a></dt></dl></dd></dl></dd><dt>5. <a href="adv-or-mapping.html">Advanced O/R Mapping</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s1">Collections</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-1">Persistent Collection Styles</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-2">Toplevel and Nested Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-3">Mapping a Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-4">Mapping a Property to a Toplevel Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-5">Collections of Values and Many To Many Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-6">One To Many Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-7">Lazy Initialization</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-8">Sorted Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-9">Garbage Collection</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-10">Bidirectional Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-11">Ternary Associations</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s1-12">Collection Example</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s2">Components</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-1">As Dependent Objects</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-2">In Collections</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-2b">As a Map Index</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s2-3">As Composite Identifiers</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s3">Cache</a></dt><dd><dl><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-1">Mapping</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-2">Read Only Cache</a></dt><dt><a href="adv-or-mapping.html#adv-or-mapping-s3-3">Read / Write Cache</a></dt></dl></dd><dt><a href="adv-or-mapping.html#adv-or-mapping-s4">Proxies for Lazy Initialization</a></dt></dl></dd><dt>6. <a href="manipulating-data.html">Manipulating Persistent Data</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s1">Creating a persistent object</a></dt><dt><a href="manipulating-data.html#manipulating-data-s2">Loading an object</a></dt><dt><a href="manipulating-data.html#manipulating-data-s3">Querying</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s4">Scalar queries</a></dt><dt><a href="manipulating-data.html#manipulating-data-s5">The Query interface</a></dt><dt><a href="manipulating-data.html#manipulating-data-s5b">Scrollable iteration</a></dt><dt><a href="manipulating-data.html#manipulating-data-s6">Filtering collections</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s7">Updating objects saved or loaded in the current session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s8">Updating objects saved or loaded in a previous session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s9">Deleting persistent objects</a></dt><dt><a href="manipulating-data.html#manipulating-data-s10">Graphs of objects</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s11a">Lifecycle objects</a></dt><dt><a href="manipulating-data.html#manipulating-data-s11b">Persistence by Reachability</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s12">Flushing</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13">Ending a Session</a></dt><dd><dl><dt><a href="manipulating-data.html#manipulating-data-s13-1">Flushing the session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-2">Committing the transaction</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-3">Closing the session</a></dt><dt><a href="manipulating-data.html#manipulating-data-s13-4">Exception handling</a></dt></dl></dd><dt><a href="manipulating-data.html#manipulating-data-s14">Interceptors</a></dt></dl></dd><dt>7. <a href="query-language.html">Hibernate Query Language</a></dt><dd><dl><dt><a href="query-language.html#query-language-s1">Case Sensitivity</a></dt><dt><a href="query-language.html#query-language-s2">The from clause</a></dt><dt><a href="query-language.html#query-language-s3">The select clause</a></dt><dt><a href="query-language.html#query-language-s3b">polymorphism</a></dt><dt><a href="query-language.html#query-language-s4">from collections</a></dt><dt><a href="query-language.html#query-language-s5">The where clause</a></dt><dt><a href="query-language.html#query-language-s6">Expressions</a></dt><dt><a href="query-language.html#query-language-s7">The order by clause</a></dt><dt><a href="query-language.html#query-language-s8">The group by clause</a></dt><dt><a href="query-language.html#query-language-s9">Subqueries</a></dt></dl></dd><dt>8. <a href="transactions.html">Transactions And Concurrency</a></dt><dd><dl><dt><a href="transactions.html#transactions-s1">Datastores, Sessions and Factories</a></dt><dt><a href="transactions.html#transactions-s2">Threads and connections</a></dt><dt><a href="transactions.html#transactions-s3">Optimistic Locking / Versioning</a></dt><dd><dl><dt><a href="transactions.html#transactions-s3-1">Long session with automatic versioning</a></dt><dt><a href="transactions.html#transactions-s3-2">Many sessions with automatic versioning</a></dt><dt><a href="transactions.html#transactions-s3-3">Application version checking</a></dt></dl></dd><dt><a href="transactions.html#transactions-s4">Session disconnection</a></dt><dt><a href="transactions.html#transactions-s5">Pessimistic Locking</a></dt></dl></dd><dt>9. <a href="examples.html">Examples</a></dt><dd><dl><dt><a href="examples.html#examples-s0">Employer / Employee</a></dt><dt><a href="examples.html#examples-s1">Author / Work</a></dt><dt><a href="examples.html#examples-s2">Customer / Order / Product</a></dt></dl></dd><dt>10. <a href="best-practices.html">Best Practices</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="architecture.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Architecture</td></tr></table></div></body></html>
\ No newline at end of file
Index: manipulating-data.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/manipulating-data.html,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** manipulating-data.html 26 Nov 2002 08:14:58 -0000 1.26
--- manipulating-data.html 28 Jan 2003 14:12:53 -0000 1.27
***************
*** 510,514 ****
The <tt>Interceptor</tt> interface provides callbacks from the session to the
application allowing the application to inspect and / or manipulate properties of a
! persistent object before it is saved, updated or deleted and after it is loaded. One
possible use for this is to track auditing information. For example, the following
<tt>Interceptor</tt> automatically sets the <tt>createTimestamp</tt>
--- 510,514 ----
The <tt>Interceptor</tt> interface provides callbacks from the session to the
application allowing the application to inspect and / or manipulate properties of a
! persistent object before it is saved, updated, deleted or loaded. One
possible use for this is to track auditing information. For example, the following
<tt>Interceptor</tt> automatically sets the <tt>createTimestamp</tt>
Index: session-configuration.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/session-configuration.html,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** session-configuration.html 26 Nov 2002 08:14:58 -0000 1.27
--- session-configuration.html 28 Jan 2003 14:12:54 -0000 1.28
***************
*** 159,164 ****
connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with
! Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name to used by <tt>JTATransactionFactory</tt> to
! obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
listed here, your Hibernate queries need not specify the full class name of a
--- 159,164 ----
connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with
! Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name used by <tt>JTATransactionFactory</tt> to
! obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_lookup_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
listed here, your Hibernate queries need not specify the full class name of a
***************
*** 211,215 ****
If you wish to use JVM-level caching of mutable data in a JTA environment, you must specify
a strategy for obtaining the JTA <tt>TransactionManager</tt>.
! </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>cirrus.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>cirrus.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>cirrus.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>cirrus.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr></table><p>
If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify
a name (eg. <tt>hibernate/session_factory</tt>) as using the property
--- 211,215 ----
If you wish to use JVM-level caching of mutable data in a JTA environment, you must specify
a strategy for obtaining the JTA <tt>TransactionManager</tt>.
! </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>cirrus.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>cirrus.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>cirrus.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>cirrus.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr><tr><td><tt>cirrus.hibernate.transaction.ResinTransactionManagerLookup</tt></td><td>for Resin</td></tr></table><p>
If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify
a name (eg. <tt>hibernate/session_factory</tt>) as using the property
|
|
From: <tu...@us...> - 2003-01-28 14:13:10
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/pdf In directory sc8-pr-cvs1:/tmp/cvs-serv21841/pdf Modified Files: hibernate_reference.pdf Log Message: Doco update Index: hibernate_reference.pdf =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/pdf/hibernate_reference.pdf,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** hibernate_reference.pdf 26 Nov 2002 08:14:56 -0000 1.6 --- hibernate_reference.pdf 28 Jan 2003 14:13:00 -0000 1.7 *************** *** 694,703 **** endobj 464 0 obj << ! /Length 260 /Filter /FlateDecode >> stream ! xÚ?oà Åw ! F8sݱêßLUäê@XMe~þí*:T,ÇÝ»ßÓ=$">$e ÆhbLµ®H;dâä9ÃM¡4B©T¬ÿr¥TqÊe BIsßdùD*05iºEÚßéKpÓhc\î]ÇPP7¹±ÝZ¾½n6ô~dÍn ÐåBBXÉè*¡(qîÝeQÛËxcEb2,éÜÏáÆîÔOëçõØûÁ2¤¡o×ÎΦ¯$²É(Ñ×buáó.ÏÏ¿ÎfÒVë~"çÄx:mU.D§<Q³Çæj0âÿÑR[jXendstream endobj 462 0 obj << [...6703 lines suppressed...] ! 0000483413 00000 n ! 0000483495 00000 n ! 0000494297 00000 n ! 0000531749 00000 n ! 0000531790 00000 n ! 0000531830 00000 n ! 0000532011 00000 n trailer << *************** *** 15647,15650 **** >> startxref ! 532280 %%EOF --- 15637,15640 ---- >> startxref ! 532333 %%EOF |
|
From: <tu...@us...> - 2003-01-28 14:13:10
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/src
In directory sc8-pr-cvs1:/tmp/cvs-serv21841/src
Modified Files:
index.xml
Log Message:
Doco update
Index: index.xml
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/doc/reference/src/index.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** index.xml 27 Oct 2002 11:48:38 -0000 1.5
--- index.xml 28 Jan 2003 14:13:05 -0000 1.6
***************
*** 22,25 ****
--- 22,27 ----
<subtitle>Relational Persistence for Idiomatic Java</subtitle>
<subtitle>http://hibernate.sourceforge.net/</subtitle>
+ <subtitle>Version: 1.2.3</subtitle>
+ <date>28.01.2003</date>
</bookinfo>
|