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> |