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...> - 2002-11-27 15:09:25
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv334/cirrus/hibernate/test Modified Files: FooBarTest.java Log Message: fixed test that was broken on some platforms Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/FooBarTest.java,v retrieving revision 1.231 retrieving revision 1.232 diff -C2 -d -r1.231 -r1.232 *** FooBarTest.java 27 Nov 2002 13:47:34 -0000 1.231 --- FooBarTest.java 27 Nov 2002 15:09:22 -0000 1.232 *************** *** 13,16 **** --- 13,17 ---- import cirrus.hibernate.sql.OracleDialect; import cirrus.hibernate.sql.PointbaseDialect; + import cirrus.hibernate.sql.PostgreSQLDialect; import cirrus.hibernate.sql.SAPDBDialect; import cirrus.hibernate.sql.SybaseDialect; *************** *** 132,137 **** baz2.setDefaults(); s.save(baz2); ! s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one order by count(many)"); ! s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one having count(many) < 5"); s.find("from one in class cirrus.hibernate.test.One, many in one.manies.elements where one.id = 1 and many.id = 1"); --- 133,141 ---- baz2.setDefaults(); s.save(baz2); ! ! if ( dialect instanceof DB2Dialect || dialect instanceof PostgreSQLDialect ) { ! s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one order by count(many)"); ! s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one having count(many) < 5"); ! } s.find("from one in class cirrus.hibernate.test.One, many in one.manies.elements where one.id = 1 and many.id = 1"); |
From: <one...@us...> - 2002-11-27 15:00:22
|
Update of /cvsroot/hibernate/Hibernate/doc In directory sc8-pr-cvs1:/tmp/cvs-serv26528/doc Modified Files: faq.aft faq.aft-TOC faq.html Log Message: new FAQ entries Index: faq.aft =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/faq.aft,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** faq.aft 26 Nov 2002 10:25:24 -0000 1.30 --- faq.aft 27 Nov 2002 15:00:14 -0000 1.31 *************** *** 156,159 **** --- 156,175 ---- ( (Integer) s.createFilter( collection, "select count(*)" ).iterate().next() ).intValue() + *** How can I order by the size of a collection? + + For a one-to-many or many-to-many association: + + select user from user in class eg.User, msg in user.messages.elements group by user order by count(msg) + + *** How can I place a condition upon a collection size? + + If your database supports subselects: + + from user in class eg.User where user.messages.size >= 1 + + If not, and in the case of a one-to-many or many-to-many association: + + select user from user in class eg.User, msg in user.messages.elements group by user having count(msg) >= 1 + *** How can I sort / order collection elements? Index: faq.aft-TOC =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/faq.aft-TOC,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** faq.aft-TOC 14 Nov 2002 12:57:37 -0000 1.20 --- faq.aft-TOC 27 Nov 2002 15:00:16 -0000 1.21 *************** *** 23,26 **** --- 23,28 ---- * {-How can I count the number of query results without actually returning them?@How can I count the number of query results without actually returning them?-} * {-How can I find the size of a collection without initializing it?@How can I find the size of a collection without initializing it?-} + * {-How can I order by the size of a collection?@How can I order by the size of a collection?-} + * {-How can I place a condition upon a collection size?@How can I place a condition upon a collection size?-} * {-How can I sort / order collection elements?@How can I sort / order collection elements?-} * {-Are collections pageable?@Are collections pageable?-} Index: faq.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/faq.html,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** faq.html 26 Nov 2002 10:25:24 -0000 1.43 --- faq.html 27 Nov 2002 15:00:17 -0000 1.44 *************** *** 48,51 **** --- 48,53 ---- <li> <a href="#How can I count the number of query results without actually returning them?">How can I count the number of query results without actually returning them?</a></li> <li> <a href="#How can I find the size of a collection without initializing it?">How can I find the size of a collection without initializing it?</a></li> + <li> <a href="#How can I order by the size of a collection?">How can I order by the size of a collection?</a></li> + <li> <a href="#How can I place a condition upon a collection size?">How can I place a condition upon a collection size?</a></li> <li> <a href="#How can I sort / order collection elements?">How can I sort / order collection elements?</a></li> <li> <a href="#Are collections pageable?">Are collections pageable?</a></li> *************** *** 281,284 **** --- 283,308 ---- <pre> ( (Integer) s.createFilter( collection, "select count(*)" ).iterate().next() ).intValue() + </pre> + <!--End Section 3--> + <h4><a name="How can I order by the size of a collection?">How can I order by the size of a collection?</a></h4> + <p class="Body"> + For a one-to-many or many-to-many association: + </p> + <pre> + select user from user in class eg.User, msg in user.messages.elements group by user order by count(msg) + </pre> + <!--End Section 3--> + <h4><a name="How can I place a condition upon a collection size?">How can I place a condition upon a collection size?</a></h4> + <p class="Body"> + If your database supports subselects: + </p> + <pre> + from user in class eg.User where user.messages.size >= 1 + </pre> + <p class="Body"> + If not, and in the case of a one-to-many or many-to-many association: + </p> + <pre> + select user from user in class eg.User, msg in user.messages.elements group by user having count(msg) >= 1 </pre> <!--End Section 3--> |
From: <one...@us...> - 2002-11-27 13:47:38
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/proxy In directory sc8-pr-cvs1:/tmp/cvs-serv24254/cirrus/hibernate/proxy Modified Files: LazyInitializer.java Log Message: correctly propagate exceptions via proxies fixed uncompilable calendar types for JDK1.2 added --format and --delimiter options to SchemaExport Index: LazyInitializer.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/proxy/LazyInitializer.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** LazyInitializer.java 26 Nov 2002 03:35:44 -0000 1.11 --- LazyInitializer.java 27 Nov 2002 13:47:34 -0000 1.12 *************** *** 3,6 **** --- 3,7 ---- import java.io.Serializable; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.SQLException; *************** *** 105,109 **** // otherwise: ! return method.invoke( getImplementation(), args ); } --- 106,115 ---- // otherwise: ! try { ! return method.invoke( getImplementation(), args ); ! } ! catch (InvocationTargetException ite) { ! throw ite.getTargetException(); ! } } |
From: <one...@us...> - 2002-11-27 13:47:38
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type In directory sc8-pr-cvs1:/tmp/cvs-serv24254/cirrus/hibernate/type Modified Files: CalendarDateType.java CalendarType.java Log Message: correctly propagate exceptions via proxies fixed uncompilable calendar types for JDK1.2 added --format and --delimiter options to SchemaExport Index: CalendarDateType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/CalendarDateType.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CalendarDateType.java 26 Nov 2002 03:35:45 -0000 1.2 --- CalendarDateType.java 27 Nov 2002 13:47:34 -0000 1.3 *************** *** 22,28 **** public Object get(ResultSet rs, String name) throws HibernateException, SQLException { ! Calendar cal = new GregorianCalendar(); ! cal.setTimeInMillis( rs.getDate(name).getTime() ); ! return cal; } --- 22,36 ---- public Object get(ResultSet rs, String name) throws HibernateException, SQLException { ! ! Date date = rs.getDate(name); ! if (date!=null) { ! Calendar cal = new GregorianCalendar(); ! cal.setTime(date); ! return cal; ! } ! else { ! return null; ! } ! } *************** *** 33,37 **** throws HibernateException, SQLException { ! st.setDate( index, new Date( ( (Calendar) value ).getTimeInMillis() ) ); } --- 41,45 ---- throws HibernateException, SQLException { ! st.setDate( index, new Date( ( (Calendar) value ).getTime().getTime() ) ); } Index: CalendarType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/CalendarType.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CalendarType.java 26 Nov 2002 03:35:45 -0000 1.3 --- CalendarType.java 27 Nov 2002 13:47:34 -0000 1.4 *************** *** 26,30 **** if (ts!=null) { Calendar cal = new GregorianCalendar(); ! cal.setTimeInMillis( ts.getTime() ); return cal; } --- 26,30 ---- if (ts!=null) { Calendar cal = new GregorianCalendar(); ! cal.setTime(ts); return cal; } *************** *** 41,45 **** throws HibernateException, SQLException { ! st.setTimestamp( index, new Timestamp( ( (Calendar) value ).getTimeInMillis() ) ); } --- 41,45 ---- throws HibernateException, SQLException { ! st.setTimestamp( index, new Timestamp( ( (Calendar) value ).getTime().getTime() ) ); } |
From: <one...@us...> - 2002-11-27 13:47:38
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools In directory sc8-pr-cvs1:/tmp/cvs-serv24254/cirrus/hibernate/tools Modified Files: SchemaExport.java Log Message: correctly propagate exceptions via proxies fixed uncompilable calendar types for JDK1.2 added --format and --delimiter options to SchemaExport Index: SchemaExport.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/SchemaExport.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SchemaExport.java 31 Aug 2002 14:23:43 -0000 1.10 --- SchemaExport.java 27 Nov 2002 13:47:34 -0000 1.11 *************** *** 61,65 **** */ public void create(boolean script, boolean export) throws HibernateException { ! execute(script, export, false); } --- 61,65 ---- */ public void create(boolean script, boolean export) throws HibernateException { ! execute(script, export, false, true, null); } *************** *** 71,78 **** */ public void drop(boolean script, boolean export) throws HibernateException { ! execute(script, export, true); } ! private void execute(boolean script, boolean export, boolean justDrop) throws HibernateException { Connection connection = null; FileWriter fileOutput = null; --- 71,78 ---- */ public void drop(boolean script, boolean export) throws HibernateException { ! execute(script, export, true, true, null); } ! private void execute(boolean script, boolean export, boolean justDrop, boolean format, String delimiter) throws HibernateException { Connection connection = null; FileWriter fileOutput = null; *************** *** 122,127 **** for(int j = 0; j < createSQL.length; j++) { try { ! if (script) System.out.println( createSQL[j] ); ! if (outputFile != null) fileOutput.write( createSQL[j] + "\n" ); if (export) { if (jdbc2) { --- 122,128 ---- for(int j = 0; j < createSQL.length; j++) { try { ! String formatted = format ? format( createSQL[j], delimiter ) : createSQL[j]; ! if (script) System.out.println( formatted ); ! if (outputFile != null) fileOutput.write( formatted + "\n" ); if (export) { if (jdbc2) { *************** *** 172,175 **** --- 173,223 ---- } + /** + * Format an SQL statement using simple rules: + * a) Insert newline after each comma; + * b) Indent three spaces after each inserted newline; + * c) Append an optional delimiter to the SQL statement. + * If the statement contains single/double quotes return unchanged, + * it is too complex and could be broken by simple formatting. + */ + private static String format(String sql, String delimiter) { + + if ( sql.indexOf("\"") > 0 || sql.indexOf("'") > 0) { + return sql; + } + + final String formatted; + + if ( sql.toLowerCase().startsWith("create table") ) { + + StringBuffer result = new StringBuffer(60); + StringTokenizer tokens = new StringTokenizer( sql, "(,)", true ); + + int depth = 0; + + while ( tokens.hasMoreTokens() ) { + String tok = tokens.nextToken(); + if ( ")".equals(tok) ) { + depth--; + if (depth==0) result.append("\n"); + } + result.append(tok); + if ( ",".equals(tok) && depth==1 ) result.append("\n "); + if ( "(".equals(tok) ) { + depth++; + if (depth==1) result.append("\n "); + } + } + + formatted = result.toString(); + + } + else { + formatted = sql; + } + + return (delimiter!=null) ? formatted + delimiter : formatted; + } + public static void main(String[] args) { try { *************** *** 181,184 **** --- 229,234 ---- String outputFile = null; String propFile = null; + boolean formatSQL = false; + String delimiter = null; for ( int i=0; i<args.length; i++ ) { *************** *** 199,202 **** --- 249,258 ---- propFile = args[i].substring(13); } + else if( args[i].equals("--format") ) { + formatSQL = true; + } + else if ( args[i].startsWith("--delimiter=") ) { + delimiter = args[i].substring(12); + } } else { *************** *** 208,215 **** Properties props = new Properties(); props.load( new FileInputStream(propFile) ); ! new SchemaExport(ds, props).setOutputFile(outputFile).execute(script, export, drop); } else { ! new SchemaExport(ds).setOutputFile(outputFile).execute(script, export, drop); } } --- 264,271 ---- 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); } } |
From: <one...@us...> - 2002-11-27 13:47:37
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv24254 Modified Files: changelog.txt Log Message: correctly propagate exceptions via proxies fixed uncompilable calendar types for JDK1.2 added --format and --delimiter options to SchemaExport Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.276 retrieving revision 1.277 diff -C2 -d -r1.276 -r1.277 *** changelog.txt 26 Nov 2002 15:48:34 -0000 1.276 --- changelog.txt 27 Nov 2002 13:47:33 -0000 1.277 *************** *** 5,8 **** --- 5,11 ---- * fixed bugs in one-to-many associations to a <joined-subclass> * LockMode class now properly serializable + * exceptions thrown by proxied objects are now propagated correctly (rather than being wrapped) + * made Calendar types compilable in JDK1.2 + * added --format and --delimiter options to SchemaExport (thanks to Richard Mixon) Changes in version 1.2 beta 3 (26.11.2002) |
From: <one...@us...> - 2002-11-27 13:47:37
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv24254/cirrus/hibernate/test Modified Files: FooBarTest.java Log Message: correctly propagate exceptions via proxies fixed uncompilable calendar types for JDK1.2 added --format and --delimiter options to SchemaExport Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/FooBarTest.java,v retrieving revision 1.230 retrieving revision 1.231 diff -C2 -d -r1.230 -r1.231 *** FooBarTest.java 25 Nov 2002 05:18:00 -0000 1.230 --- FooBarTest.java 27 Nov 2002 13:47:34 -0000 1.231 *************** *** 132,135 **** --- 132,138 ---- baz2.setDefaults(); s.save(baz2); + s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one order by count(many)"); + s.iterate("select one from one in class cirrus.hibernate.test.One, many in one.manies.elements group by one having count(many) < 5"); + s.find("from one in class cirrus.hibernate.test.One, many in one.manies.elements where one.id = 1 and many.id = 1"); s.iterate("select one.id, one.manies.elements from one in class cirrus.hibernate.test.One"); |
From: <one...@us...> - 2002-11-26 15:48:38
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv14794 Modified Files: changelog.txt Log Message: LockMode now serializes itself correctly Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.275 retrieving revision 1.276 diff -C2 -d -r1.275 -r1.276 *** changelog.txt 26 Nov 2002 08:37:24 -0000 1.275 --- changelog.txt 26 Nov 2002 15:48:34 -0000 1.276 *************** *** 3,7 **** Changes in version 1.2 beta 4 (26.11.2002) ------------------------------------------ ! fixed bugs in one-to-many associations to a <joined-subclass> Changes in version 1.2 beta 3 (26.11.2002) --- 3,8 ---- Changes in version 1.2 beta 4 (26.11.2002) ------------------------------------------ ! * fixed bugs in one-to-many associations to a <joined-subclass> ! * LockMode class now properly serializable Changes in version 1.2 beta 3 (26.11.2002) |
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv20057/hibernate/persister Modified Files: AbstractEntityPersister.java EntityPersister.java Loadable.java MultiTableEntityPersister.java Log Message: LockMode now serializes itself correctly general code cleanups to persister package some JavaDoc improvs Index: AbstractEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/AbstractEntityPersister.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** AbstractEntityPersister.java 26 Nov 2002 03:35:44 -0000 1.16 --- AbstractEntityPersister.java 26 Nov 2002 14:47:29 -0000 1.17 *************** *** 44,50 **** /** ! * Superclass for built-in mapping strategies */ ! public abstract class AbstractEntityPersister implements Queryable, ClassMetadata { private static final Log log = LogFactory.getLog(AbstractEntityPersister.class); --- 44,53 ---- /** ! * Superclass for built-in mapping strategies. Implements functionality ! * common to both mapping strategies.<br> ! * <br> ! * May be considered an immutable view of the mapping object.<br> */ ! abstract class AbstractEntityPersister implements Queryable, ClassMetadata { private static final Log log = LogFactory.getLog(AbstractEntityPersister.class); Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/EntityPersister.java,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** EntityPersister.java 26 Nov 2002 08:37:25 -0000 1.44 --- EntityPersister.java 26 Nov 2002 14:47:29 -0000 1.45 *************** *** 46,52 **** /** * The default implementation of the <tt>ClassPersister</tt> interface. ! * Implements persistence for an entity class.<br> ! * <br> ! * May be considered an immutable view of the mapping object.<br> */ public class EntityPersister extends AbstractEntityPersister implements Queryable { --- 46,51 ---- /** * The default implementation of the <tt>ClassPersister</tt> interface. ! * Implements the "table-per-class hierarchy" mapping strategy for an entity ! * class.<br> */ public class EntityPersister extends AbstractEntityPersister implements Queryable { *************** *** 78,82 **** private transient final DiscriminatorType discriminatorType; - private transient final Object discriminatorValue; private transient final String discriminatorSQLString; --- 77,80 ---- *************** *** 206,209 **** --- 204,211 ---- } + protected String[] getColumnNames() { + return columnNames; + } + //Access cached SQL *************** *** 243,247 **** protected String generateDeleteString() { StringBuffer buf = new StringBuffer("delete from ") ! .append(qualifiedTableName) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) --- 245,249 ---- protected String generateDeleteString() { StringBuffer buf = new StringBuffer("delete from ") ! .append( getTableName() ) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) *************** *** 260,263 **** --- 262,266 ---- protected String generateInsertString(boolean identityInsert, String identityColumnInsertString) { + String[] columnNames = getColumnNames(); boolean hasPropertyColumns = columnNames.length > 0; boolean insertIdentifierColumns = !identityInsert || identityColumnInsertString!=null; *************** *** 266,270 **** StringBuffer buf = new StringBuffer("insert into ") ! .append(qualifiedTableName) .append(" ( ") .append( cirrus.hibernate.helpers.StringHelper.join( ", ", columnNames ) ) --- 269,273 ---- StringBuffer buf = new StringBuffer("insert into ") ! .append( getTableName() ) .append(" ( ") .append( cirrus.hibernate.helpers.StringHelper.join( ", ", columnNames ) ) *************** *** 307,310 **** --- 310,314 ---- */ protected String generateSelectString() { + final String[] subclassColumnClosure = getSubclassColumnClosure(); return new StringBuffer(100) .append("select ") *************** *** 314,318 **** .append( StringHelper.join( ", ", subclassColumnClosure ) ) .append(" from ") ! .append(qualifiedTableName) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) --- 318,322 ---- .append( StringHelper.join( ", ", subclassColumnClosure ) ) .append(" from ") ! .append( getTableName() ) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) *************** *** 325,328 **** --- 329,333 ---- */ protected String generateUpdateString() { + String[] columnNames = getColumnNames(); StringBuffer setters = new StringBuffer(20); for (int i=0; i<columnNames.length; i++) { *************** *** 332,336 **** StringBuffer buf = new StringBuffer(100) .append("update ") ! .append(qualifiedTableName) .append(" set ") .append( setters.toString() ) --- 337,341 ---- StringBuffer buf = new StringBuffer(100) .append("update ") ! .append( getTableName() ) .append(" set ") .append( setters.toString() ) *************** *** 354,358 **** .append( getIdentifierColumnNames()[0] ) .append(" from ") ! .append(qualifiedTableName) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) //TODO:refactor out copied code --- 359,363 ---- .append( getIdentifierColumnNames()[0] ) .append(" from ") ! .append( getTableName() ) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) //TODO:refactor out copied code *************** *** 633,636 **** --- 638,642 ---- // DISCRIMINATOR + final Object discriminatorValue; if ( model.isPolymorphic() ) { Value d = model.getDiscriminator(); Index: Loadable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/Loadable.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Loadable.java 26 Nov 2002 08:37:25 -0000 1.15 --- Loadable.java 26 Nov 2002 14:47:29 -0000 1.16 *************** *** 84,87 **** --- 84,88 ---- * Given the number of a property of a subclass, and a table alias, * return the aliased column names + * (optional operation) */ public String[] toColumns(String name, int i); *************** *** 90,109 **** * Given a query alias and an identifying suffix, render the * property select fragment */ public String propertySelectClauseFragment(String name, String suffix); /** * Get the from clause fragment, given a query alias */ public String fromClauseFragment(String name, boolean innerJoin); /** ! * Get any the outer join SQL fragments that appear in the <tt>FROM</tt> clause */ public String outerJoinsAfterFrom(String name, boolean innerJoin); /** ! * Get any the outer join SQL fragments that appear in the <tt>WHERE</tt> clause */ public String outerJoinsAfterWhere(String name, boolean innerJoin); /** ! * */ public String getConcreteClassAlias(String alias); --- 91,115 ---- * Given a query alias and an identifying suffix, render the * property select fragment + * (optional operation) */ public String propertySelectClauseFragment(String name, String suffix); /** * Get the from clause fragment, given a query alias + * (optional operation) */ public String fromClauseFragment(String name, boolean innerJoin); /** ! * Get any outer join SQL fragments that appear in the <tt>FROM</tt> clause ! * (optional operation) */ public String outerJoinsAfterFrom(String name, boolean innerJoin); /** ! * Get any outer join SQL fragments that appear in the <tt>WHERE</tt> clause ! * (optional operation) */ public String outerJoinsAfterWhere(String name, boolean innerJoin); /** ! * Get the table alias for the particular subclass state ! * (optional operation) */ public String getConcreteClassAlias(String alias); Index: MultiTableEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/MultiTableEntityPersister.java,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** MultiTableEntityPersister.java 26 Nov 2002 08:37:25 -0000 1.39 --- MultiTableEntityPersister.java 26 Nov 2002 14:47:29 -0000 1.40 *************** *** 49,56 **** * A <tt>ClassPersister</tt> implementing the normalized "table-per-subclass" * mapping strategy.<br> - * <br> - * <em>Experimental</em> */ ! public class MultiTableEntityPersister extends AbstractEntityPersister implements Queryable { private final SessionFactoryImplementor factory; --- 49,54 ---- * A <tt>ClassPersister</tt> implementing the normalized "table-per-subclass" * mapping strategy.<br> */ ! public class MultiTableEntityPersister extends AbstractEntityPersister { private final SessionFactoryImplementor factory; *************** *** 78,82 **** private transient final int[] subclassPropertyTableNumberClosure; - private transient final String[] columnNames; private transient final String[] subclassColumnClosure; private transient final String[] subclassColumnClosureAliases; --- 76,79 ---- *************** *** 93,97 **** private transient final DiscriminatorType discriminatorType; - private transient final Object discriminatorValue; private transient final String discriminatorSQLString; private transient final String discriminatorColumnName; --- 90,93 ---- *************** *** 355,359 **** .append( getIdentifierColumnNames()[0] ) .append(" from ") ! .append(qualifiedTableName) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) //TODO:refactor out copied code --- 351,355 ---- .append( getIdentifierColumnNames()[0] ) .append(" from ") ! .append( getTableName() ) .append(" where ") .append( StringHelper.join( " = ? and ", getIdentifierColumnNames() ) ) //TODO:refactor out copied code *************** *** 681,684 **** --- 677,681 ---- // DISCRIMINATOR + final Object discriminatorValue; if ( model.isPolymorphic() ) { discriminatorColumnName = "clazz_"; *************** *** 755,759 **** propertyColumnSpans = new int[hydrateSpan]; - ArrayList columns = new ArrayList(); HashSet thisClassProperties = new HashSet(); --- 752,755 ---- *************** *** 778,782 **** propCols[j] = colname; propAliases[j] = col.getName() + tab.getUniqueInteger() + '_'; - columns.add(colname); j++; } --- 774,777 ---- *************** *** 792,798 **** } ! columnNames = (String[]) columns.toArray(STRING_ARRAY); ! ! columns.clear(); ArrayList types = new ArrayList(); ArrayList propColumns = new ArrayList(); --- 787,791 ---- } ! ArrayList columns = new ArrayList(); ArrayList types = new ArrayList(); ArrayList propColumns = new ArrayList(); *************** *** 1074,1078 **** } buf.append(" end as ") ! .append( aliasColumn( discriminatorColumnName, suffix) ); } --- 1067,1071 ---- } buf.append(" end as ") ! .append( aliasColumn( getDiscriminatorColumnName(), suffix) ); } |
From: <one...@us...> - 2002-11-26 14:47:32
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv20057/hibernate/loader Modified Files: EntityLoader.java OuterJoinLoader.java Log Message: LockMode now serializes itself correctly general code cleanups to persister package some JavaDoc improvs Index: EntityLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/EntityLoader.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** EntityLoader.java 25 Nov 2002 07:25:20 -0000 1.11 --- EntityLoader.java 26 Nov 2002 14:47:29 -0000 1.12 *************** *** 30,34 **** this.persister = persister; ! String alias = alias( persister.getTableName(), 0 ); List associations = walkTree(persister, alias, factory); --- 30,34 ---- this.persister = persister; ! String alias = alias( persister.getClassName(), 0 ); List associations = walkTree(persister, alias, factory); Index: OuterJoinLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OuterJoinLoader.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** OuterJoinLoader.java 19 Nov 2002 08:14:04 -0000 1.13 --- OuterJoinLoader.java 26 Nov 2002 14:47:29 -0000 1.14 *************** *** 173,177 **** assoc.subpersister = subpersister; assoc.foreignKeyColumns = columns; ! String subalias = alias( subpersister.getTableName(), associations.size() ); assoc.subalias = subalias; walkTree(subpersister, subalias, associations, classPersisters, session); --- 173,177 ---- assoc.subpersister = subpersister; assoc.foreignKeyColumns = columns; ! String subalias = alias( subpersister.getClassName(), associations.size() ); assoc.subalias = subalias; walkTree(subpersister, subalias, associations, classPersisters, session); |
From: <one...@us...> - 2002-11-26 14:47:32
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/cache In directory sc8-pr-cvs1:/tmp/cvs-serv20057/hibernate/cache Modified Files: CachedItem.java Log Message: LockMode now serializes itself correctly general code cleanups to persister package some JavaDoc improvs Index: CachedItem.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/cache/CachedItem.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CachedItem.java 6 Oct 2002 18:13:52 -0000 1.4 --- CachedItem.java 26 Nov 2002 14:47:29 -0000 1.5 *************** *** 9,13 **** * @see ReadWriteCache */ ! public class CachedItem implements Serializable { private long freshTimestamp; --- 9,13 ---- * @see ReadWriteCache */ ! public final class CachedItem implements Serializable { private long freshTimestamp; |
From: <one...@us...> - 2002-11-26 14:47:32
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv20057/hibernate Modified Files: LockMode.java Log Message: LockMode now serializes itself correctly general code cleanups to persister package some JavaDoc improvs Index: LockMode.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/LockMode.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LockMode.java 26 Nov 2002 03:35:40 -0000 1.5 --- LockMode.java 26 Nov 2002 14:47:28 -0000 1.6 *************** *** 3,6 **** --- 3,8 ---- import java.io.Serializable; + import java.util.HashMap; + import java.util.Map; /** *************** *** 17,20 **** --- 19,24 ---- private final int level; private final String name; + private static final Map instances = new HashMap(); + private LockMode(int level, String name) { this.level=level; *************** *** 64,67 **** --- 68,83 ---- */ public static final LockMode WRITE = new LockMode(10, "WRITE"); + + static { + instances.put( new Integer(NONE.level), NONE ); + instances.put( new Integer(READ.level), READ ); + instances.put( new Integer(UPGRADE.level), UPGRADE ); + instances.put( new Integer(UPGRADE_NOWAIT.level), UPGRADE_NOWAIT ); + instances.put( new Integer(WRITE.level), WRITE ); + } + + Object readResolve() { + return instances.get( new Integer(level) ); + } } |
From: <one...@us...> - 2002-11-26 13:13:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv15593/cirrus/hibernate/test Added Files: Po.java Log Message: missing test class --- NEW FILE: Po.java --- //$Id: Po.java,v 1.1 2002/11/26 13:13:25 oneovthafew Exp $ package cirrus.hibernate.test; import java.util.List; import java.util.Set; /** * */ public class Po { private long id; private String value; private Set set; private List list; /** * Returns the id. * @return long */ public long getId() { return id; } /** * Returns the value. * @return String */ public String getValue() { return value; } /** * Sets the id. * @param id The id to set */ public void setId(long id) { this.id = id; } /** * Sets the value. * @param value The value to set */ public void setValue(String value) { this.value = value; } /** * Returns the set. * @return Set */ public Set getSet() { return set; } /** * Sets the set. * @param set The set to set */ public void setSet(Set set) { this.set = set; } /** * Returns the list. * @return List */ public List getList() { return list; } /** * Sets the list. * @param list The list to set */ public void setList(List list) { this.list = list; } } |
From: <one...@us...> - 2002-11-26 10:25:27
|
Update of /cvsroot/hibernate/Hibernate/doc In directory sc8-pr-cvs1:/tmp/cvs-serv19745 Modified Files: faq.aft faq.html menu.html Added Files: documentation.html Log Message: got downloadable doco working again --- NEW FILE: documentation.html --- <link rel="stylesheet" href="hibernate.css" type="text/css"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="author" content=""> <meta name="GENERATOR" content = "Almost Free Text v5.0792; Copyright 1996-2002 Todd Coram. All rights reserved."> <style type="text/css"> <!-- .Default {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Tahoma'; font-size: 12pt} .Text-Background {background-color: rgb(255,255,255)} --> </style> </head> <body> <h3><a name="Introduction">Reference Documentation</a></h3> <p class="Body"> The reference documentation is available as <ul> <li><a href="reference/html/index.html">Online HTML version</a> <li><a href="reference/html_single/index.html">Single Page HTML version</a> (230 kb) <li><a href="reference/pdf/hibernate_reference.pdf">PDF Print version</a> (670 kb) </ul> </p> </body> </html> Index: faq.aft =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/faq.aft,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** faq.aft 14 Nov 2002 12:57:37 -0000 1.29 --- faq.aft 26 Nov 2002 10:25:24 -0000 1.30 *************** *** 187,196 **** Bar bar = new Bar(); Foo foo = new Foo(); sess.save(bar); sess.save(foo); ! You can't just save |foo| and let |bar| be saved by cascade, because |bar|'s identifier will be generated too late. ! This approach saves you from the following alternative idiom: Bar bar = new Bar(); --- 187,202 ---- Bar bar = new Bar(); Foo foo = new Foo(); + foo.setBar(bar); sess.save(bar); sess.save(foo); ! You can't just save |foo| and let |bar| be saved by cascade, because |bar|'s identifier will be generated too late. ie. you can't use ! Bar bar = new Bar(); ! Foo foo = new Foo(); ! foo.setBar(bar); ! sess.save(foo); //ERROR! ! ! The approach above spares you the following alternative idiom: Bar bar = new Bar(); Index: faq.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/faq.html,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** faq.html 14 Nov 2002 12:57:37 -0000 1.42 --- faq.html 26 Nov 2002 10:25:24 -0000 1.43 *************** *** 320,331 **** Bar bar = new Bar(); Foo foo = new Foo(); sess.save(bar); sess.save(foo); </pre> <p class="Body"> ! You can't just save <tt>foo</tt> and let <tt>bar</tt> be saved by cascade, because <tt>bar</tt>'s identifier will be generated too late. </p> <p class="Body"> ! This approach saves you from the following alternative idiom: <pre> --- 320,338 ---- Bar bar = new Bar(); Foo foo = new Foo(); + foo.setBar(bar); sess.save(bar); sess.save(foo); </pre> <p class="Body"> ! You can't just save <tt>foo</tt> and let <tt>bar</tt> be saved by cascade, because <tt>bar</tt>'s identifier will be generated too late. ie. you can't use </p> + <pre> + Bar bar = new Bar(); + Foo foo = new Foo(); + foo.setBar(bar); + sess.save(foo); //ERROR! + </pre> <p class="Body"> ! The approach above spares you the following alternative idiom: <pre> Index: menu.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/menu.html,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** menu.html 5 Nov 2002 08:04:02 -0000 1.8 --- menu.html 26 Nov 2002 10:25:24 -0000 1.9 *************** *** 14,18 **** </a> <a href="hibernate.html" target="mainFrame">Introduction</a><br> <a href="features.html" target="mainFrame">Feature List</a><br> ! <a href="reference/index.html" target="mainFrame">Documentation</a><br> <a href="faq.html" target="mainFrame">Hibernate FAQ</a><br> <a href="best.html" target="mainFrame">Best Practices</a><br> --- 14,18 ---- </a> <a href="hibernate.html" target="mainFrame">Introduction</a><br> <a href="features.html" target="mainFrame">Feature List</a><br> ! <a href="documentation.html" target="mainFrame">Documentation</a><br> <a href="faq.html" target="mainFrame">Hibernate FAQ</a><br> <a href="best.html" target="mainFrame">Best Practices</a><br> |
From: <one...@us...> - 2002-11-26 08:52:09
|
Update of /cvsroot/hibernate/Hibernate/lib In directory sc8-pr-cvs1:/tmp/cvs-serv15268 Modified Files: commons-lang.jar Log Message: latest commons-lang Index: commons-lang.jar =================================================================== RCS file: /cvsroot/hibernate/Hibernate/lib/commons-lang.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsCbb093 and /tmp/cvsOqnsPX differ |
From: <one...@us...> - 2002-11-26 08:37:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate/test Modified Files: Multi.hbm.xml MultiTableTest.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: Multi.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/Multi.hbm.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** Multi.hbm.xml 26 Nov 2002 03:35:44 -0000 1.16 --- Multi.hbm.xml 26 Nov 2002 08:37:26 -0000 1.17 *************** *** 55,58 **** --- 55,63 ---- </id> <property name="value"/> + <list role="list" cascade="all"> + <key column="list_po"/> + <index column="i"/> + <one-to-many class="cirrus.hibernate.test.SubMulti"/> + </list> <set role="set" readonly="true" cascade="all"> <key column="po"/> Index: MultiTableTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/MultiTableTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MultiTableTest.java 26 Nov 2002 03:35:44 -0000 1.13 --- MultiTableTest.java 26 Nov 2002 08:37:26 -0000 1.14 *************** *** 3,6 **** --- 3,7 ---- import java.io.Serializable; + import java.util.ArrayList; import java.util.Date; import java.util.HashSet; *************** *** 196,202 **** --- 197,207 ---- multi2.setExtraProp("extra2"); Po po = new Po(); + multi1.setPo(po); multi2.setPo(po); po.setSet( new HashSet() ); po.getSet().add(multi1); po.getSet().add(multi2); + po.setList( new ArrayList() ); + //po.getList().add(null); + po.getList().add( new SubMulti() ); Serializable id = s.save(po); assertTrue( id!=null ); *************** *** 207,210 **** --- 212,216 ---- po = (Po) s.load(Po.class, id); assertTrue( po.getSet().size()==2 ); + assertTrue( po.getList().size()==1 ); s.delete(po); t.commit(); |
From: <one...@us...> - 2002-11-26 08:37:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate/persister Modified Files: EntityPersister.java Loadable.java MultiTableEntityPersister.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/EntityPersister.java,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** EntityPersister.java 25 Nov 2002 10:41:59 -0000 1.43 --- EntityPersister.java 26 Nov 2002 08:37:25 -0000 1.44 *************** *** 896,899 **** --- 896,904 ---- return buf.toString(); } + + public String getConcreteClassAlias(String alias) { + return alias; + } + } Index: Loadable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/Loadable.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Loadable.java 26 Nov 2002 03:35:44 -0000 1.14 --- Loadable.java 26 Nov 2002 08:37:25 -0000 1.15 *************** *** 104,107 **** --- 104,111 ---- */ public String outerJoinsAfterWhere(String name, boolean innerJoin); + /** + * + */ + public String getConcreteClassAlias(String alias); } Index: MultiTableEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/MultiTableEntityPersister.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** MultiTableEntityPersister.java 25 Nov 2002 10:00:05 -0000 1.38 --- MultiTableEntityPersister.java 26 Nov 2002 08:37:25 -0000 1.39 *************** *** 1049,1058 **** int tab = ( (Integer) tableNumberByPropertyPath.get(property) ).intValue(); ! return StringHelper.prefix( cols, name + ( (tab==0) ? "" : '_' +Integer.toString(tab) ) + '.' ); } public String[] toColumns(String name, int i) { int tab = subclassPropertyTableNumberClosure[i]; ! return StringHelper.prefix( subclassPropertyColumnNameClosure[i], name + ( (tab==0) ? "" : '_' +Integer.toString(tab) ) + '.' ); } --- 1049,1058 ---- int tab = ( (Integer) tableNumberByPropertyPath.get(property) ).intValue(); ! return StringHelper.prefix( cols, name + ( (tab==0) ? "" : '_' + Integer.toString(tab) ) + '.' ); } public String[] toColumns(String name, int i) { int tab = subclassPropertyTableNumberClosure[i]; ! return StringHelper.prefix( subclassPropertyColumnNameClosure[i], name + ( (tab==0) ? "" : '_' + Integer.toString(tab) ) + '.' ); } *************** *** 1090,1093 **** --- 1090,1098 ---- } return buf.toString(); + } + + public String getConcreteClassAlias(String alias) { + int tab = tableNumbers[ tableNumbers.length-1 ]; + return alias + ( (tab==0) ? "" : '_' +Integer.toString(tab) ); } |
From: <one...@us...> - 2002-11-26 08:37:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate/map Modified Files: PersistentClass.java RootClass.java Subclass.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: PersistentClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/PersistentClass.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** PersistentClass.java 19 Nov 2002 10:42:17 -0000 1.41 --- PersistentClass.java 26 Nov 2002 08:37:25 -0000 1.42 *************** *** 191,193 **** --- 191,194 ---- public abstract Table getRootTable(); public abstract RootClass getRootClass(); + public abstract Value getKey(); } Index: RootClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/RootClass.java,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** RootClass.java 19 Nov 2002 10:42:17 -0000 1.51 --- RootClass.java 26 Nov 2002 08:37:25 -0000 1.52 *************** *** 277,280 **** return null; } ! } --- 277,283 ---- return null; } ! ! public Value getKey() { ! return getIdentifier(); ! } } Index: Subclass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Subclass.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** Subclass.java 19 Nov 2002 10:42:17 -0000 1.20 --- Subclass.java 26 Nov 2002 08:37:25 -0000 1.21 *************** *** 171,175 **** public Value getKey() { ! return key; } --- 171,180 ---- public Value getKey() { ! if (key==null) { ! return getIdentifier(); ! } ! else { ! return key; ! } } |
From: <one...@us...> - 2002-11-26 08:37:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate/loader Modified Files: CollectionLoader.java OneToManyLoader.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: CollectionLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/CollectionLoader.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CollectionLoader.java 5 Nov 2002 06:46:06 -0000 1.7 --- CollectionLoader.java 26 Nov 2002 08:37:25 -0000 1.8 *************** *** 45,49 **** ( joins==0 ? "" : ", " + selectString(associations) ), // FROM CLAUSE ! persister.getQualifiedTableName()+' '+alias, // OUTER JOINS (Insertion Point 1) outerJoinGenerator.outerJoinStringAfterFrom(associations), --- 45,49 ---- ( joins==0 ? "" : ", " + selectString(associations) ), // FROM CLAUSE ! persister.getQualifiedTableName() + ' ' + alias, // OUTER JOINS (Insertion Point 1) outerJoinGenerator.outerJoinStringAfterFrom(associations), Index: OneToManyLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/loader/OneToManyLoader.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** OneToManyLoader.java 26 Nov 2002 03:35:42 -0000 1.13 --- OneToManyLoader.java 26 Nov 2002 08:37:25 -0000 1.14 *************** *** 40,44 **** String alias = alias( collectionPersister.getQualifiedTableName(), 0 ); ! //String alias = alias( persister.getTableName(), 0 ); List associations = walkTree(persister, alias, session); --- 40,44 ---- String alias = alias( collectionPersister.getQualifiedTableName(), 0 ); ! String collAlias = persister.getConcreteClassAlias(alias); List associations = walkTree(persister, alias, session); *************** *** 50,54 **** sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(collPersister, alias) + ( joins==0 ? "" : ", " + selectString(associations) ) + ", " + --- 50,54 ---- sql = sqlSelect( // SELECT CLAUSE ! selectCollectionString(collPersister, collAlias) + ( joins==0 ? "" : ", " + selectString(associations) ) + ", " + *************** *** 59,63 **** outerJoinGenerator.outerJoinStringAfterFrom(associations), // WHERE CLAUSE ! whereString( collPersister.getKeyColumnNames(), alias ), //BUG!!!!!!!!!!! // OUTER JOINS (Insertion Point 2) outerJoinGenerator.outerJoinStringAfterWhere(associations) + --- 59,63 ---- outerJoinGenerator.outerJoinStringAfterFrom(associations), // WHERE CLAUSE ! whereString( collPersister.getKeyColumnNames(), collAlias ), // OUTER JOINS (Insertion Point 2) outerJoinGenerator.outerJoinStringAfterWhere(associations) + *************** *** 65,69 **** // ORDER BY CLAUSE collPersister.hasOrdering() ? ! collPersister.getSQLOrderByString(alias) : null ); --- 65,69 ---- // ORDER BY CLAUSE collPersister.hasOrdering() ? ! collPersister.getSQLOrderByString(collAlias) : null ); |
From: <one...@us...> - 2002-11-26 08:37:28
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate/impl Modified Files: CollectionPersister.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: CollectionPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/CollectionPersister.java,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** CollectionPersister.java 26 Nov 2002 03:35:42 -0000 1.85 --- CollectionPersister.java 26 Nov 2002 08:37:25 -0000 1.86 *************** *** 122,126 **** span = associatedClass.getIdentifier().getColumnSpan(); elementColumnNames = new String[span]; ! iter = associatedClass.getIdentifier().getColumnIterator(); int j=0; while ( iter.hasNext() ) { --- 122,126 ---- span = associatedClass.getIdentifier().getColumnSpan(); elementColumnNames = new String[span]; ! iter = associatedClass.getKey().getColumnIterator(); int j=0; while ( iter.hasNext() ) { |
From: <one...@us...> - 2002-11-26 08:37:27
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv3044/cirrus/hibernate Modified Files: Environment.java Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: Environment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/Environment.java,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** Environment.java 19 Nov 2002 15:28:04 -0000 1.75 --- Environment.java 26 Nov 2002 08:37:24 -0000 1.76 *************** *** 39,43 **** public final class Environment { ! private static final String VERSION = "1.2 beta 3"; /** --- 39,43 ---- public final class Environment { ! private static final String VERSION = "1.2 beta 4"; /** |
From: <one...@us...> - 2002-11-26 08:37:27
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv3044 Modified Files: changelog.txt readme.txt Log Message: fixed bugs in one-to-many relationships to <joined-subclasses> Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.274 retrieving revision 1.275 diff -C2 -d -r1.274 -r1.275 *** changelog.txt 25 Nov 2002 02:21:08 -0000 1.274 --- changelog.txt 26 Nov 2002 08:37:24 -0000 1.275 *************** *** 1,4 **** --- 1,8 ---- Hibernate Changelog =================== + Changes in version 1.2 beta 4 (26.11.2002) + ------------------------------------------ + fixed bugs in one-to-many associations to a <joined-subclass> + Changes in version 1.2 beta 3 (26.11.2002) ------------------------------------------ Index: readme.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/readme.txt,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** readme.txt 24 Nov 2002 13:02:30 -0000 1.52 --- readme.txt 26 Nov 2002 08:37:24 -0000 1.53 *************** *** 1,5 **** Hibernate - Relational Persistence for Idiomatic Java ===================================================== ! version 1.2 beta 3 26 November 2002 Instructions --- 1,5 ---- Hibernate - Relational Persistence for Idiomatic Java ===================================================== ! version 1.2 beta 4 26 November 2002 Instructions |
From: <tu...@us...> - 2002-11-26 08:15:29
|
Update of /cvsroot/hibernate/Hibernate/doc/reference In directory sc8-pr-cvs1:/tmp/cvs-serv32325/doc/reference Modified Files: README Log Message: Update to current and CSS quotation fix Index: README =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/README,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** README 25 Nov 2002 20:50:27 -0000 1.1 --- README 26 Nov 2002 08:14:56 -0000 1.2 *************** *** 49,53 **** SAXON=~/dev/lib/saxon.jar; ! XSL_PARAMS="html.stylesheet='../style.css' \ chunk.section.depth='5' \ use.id.as.filename='1'"; --- 49,53 ---- SAXON=~/dev/lib/saxon.jar; ! XSL_PARAMS="html.stylesheet=../style.css \ chunk.section.depth='5' \ use.id.as.filename='1'"; |
From: <tu...@us...> - 2002-11-26 08:15:01
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/html In directory sc8-pr-cvs1:/tmp/cvs-serv32325/doc/reference/html Modified Files: adv-or-mapping.html architecture.html best-practices.html examples.html index.html manipulating-data.html or-mapping.html persistent-classes.html query-language.html session-configuration.html transactions.html Log Message: Update to current and CSS quotation fix Index: adv-or-mapping.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/adv-or-mapping.html,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** adv-or-mapping.html 25 Nov 2002 21:01:45 -0000 1.27 --- adv-or-mapping.html 26 Nov 2002 08:14:57 -0000 1.28 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 5. Advanced O/R Mapping</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="or-mapping.html" title="Chapter 4. Basic O/R Mapping"><link rel="next" href="manipulating-data.html" title="Chapter 6. Manipulating Persistent Data"></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">Chapter 5. Advanced O/R Mapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="or-mapping.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manipulating-data.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="adv-or-mapping"></a>Chapter 5. Advanced O/R Mapping</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="adv-or-mapping-s1"></a>Collections</h2></div></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="adv-or-mapping-s1-1"></a>Persistent Collection Styles</h3></div></div><p> This section does not contain much example Java code. We assume you already know how to use Java's collections framework. If so, theres not really anything more --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 5. Advanced O/R Mapping</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="or-mapping.html" title="Chapter 4. Basic O/R Mapping"><link rel="next" href="manipulating-data.html" title="Chapter 6. Manipulating Persistent Data"></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">Chapter 5. Advanced O/R Mapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="or-mapping.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manipulating-data.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="adv-or-mapping"></a>Chapter 5. Advanced O/R Mapping</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="adv-or-mapping-s1"></a>Collections</h2></div></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="adv-or-mapping-s1-1"></a>Persistent Collection Styles</h3></div></div><p> This section does not contain much example Java code. We assume you already know how to use Java's collections framework. If so, theres not really anything more Index: architecture.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/architecture.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** architecture.html 25 Nov 2002 21:01:46 -0000 1.10 --- architecture.html 26 Nov 2002 08:14:57 -0000 1.11 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 1. Architecture</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="index.html" title="Hibernate Reference Documentation"><link rel="next" href="session-configuration.html" title="Chapter 2. SessionFactory Configuration"></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">Chapter 1. Architecture</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="session-configuration.html">Next</a></td></tr></table><hr></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.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></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>Chapter 1. Architecture</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="index.html" title="Hibernate Reference Documentation"><link rel="next" href="session-configuration.html" title="Chapter 2. SessionFactory Configuration"></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">Chapter 1. Architecture</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="session-configuration.html">Next</a></td></tr></table><hr></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.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></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> Index: best-practices.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/best-practices.html,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** best-practices.html 25 Nov 2002 21:01:47 -0000 1.8 --- best-practices.html 26 Nov 2002 08:14:57 -0000 1.9 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 10. Best Practices</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="examples.html" title="Chapter 9. Examples"></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">Chapter 10. Best Practices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="examples.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="best-practices"></a>Chapter 10. Best Practices</h2></div></div><div class="variablelist"><dl><dt><span class="term">Write fine-grained classes and map them using <tt><component></tt> or <tt><component-element></tt>.</span></dt><dd><p> Use an <tt>Address</tt> class to encapsulate <tt>street</tt>, --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 10. Best Practices</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="examples.html" title="Chapter 9. Examples"></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">Chapter 10. Best Practices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="examples.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="best-practices"></a>Chapter 10. Best Practices</h2></div></div><div class="variablelist"><dl><dt><span class="term">Write fine-grained classes and map them using <tt><component></tt> or <tt><component-element></tt>.</span></dt><dd><p> Use an <tt>Address</tt> class to encapsulate <tt>street</tt>, Index: examples.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/examples.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** examples.html 25 Nov 2002 21:01:47 -0000 1.6 --- examples.html 26 Nov 2002 08:14:57 -0000 1.7 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 9. Examples</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="transactions.html" title="Chapter 8. Transactions And Concurrency"><link rel="next" href="best-practices.html" title="Chapter 10. Best Practices"></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">Chapter 9. Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="transactions.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="best-practices.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="examples"></a>Chapter 9. Examples</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="examples-s0"></a>Employer / Employee</h2></div></div><p> The following model of the relationship between <tt>Employer</tt> and <tt>Employee</tt> uses an actual entity class (<tt>Employment</tt>) --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 9. Examples</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="transactions.html" title="Chapter 8. Transactions And Concurrency"><link rel="next" href="best-practices.html" title="Chapter 10. Best Practices"></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">Chapter 9. Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="transactions.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="best-practices.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="examples"></a>Chapter 9. Examples</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="examples-s0"></a>Employer / Employee</h2></div></div><p> The following model of the relationship between <tt>Employer</tt> and <tt>Employee</tt> uses an actual entity class (<tt>Employment</tt>) Index: index.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/index.html,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** index.html 25 Nov 2002 21:01:48 -0000 1.36 --- index.html 26 Nov 2002 08:14:58 -0000 1.37 *************** *** 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><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.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** manipulating-data.html 25 Nov 2002 21:01:51 -0000 1.25 --- manipulating-data.html 26 Nov 2002 08:14:58 -0000 1.26 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 6. Manipulating Persistent Data</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="adv-or-mapping.html" title="Chapter 5. Advanced O/R Mapping"><link rel="next" href="query-language.html" title="Chapter 7. Hibernate Query Language"></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">Chapter 6. Manipulating Persistent Data</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="adv-or-mapping.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="query-language.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="manipulating-data"></a>Chapter 6. Manipulating Persistent Data</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="manipulating-data-s1"></a>Creating a persistent object</h2></div></div><p> An object (entity instance) is either <span class="emphasis"><i>transient</i></span> or <span class="emphasis"><i>persistent</i></span> with respect to a particular --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 6. Manipulating Persistent Data</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="adv-or-mapping.html" title="Chapter 5. Advanced O/R Mapping"><link rel="next" href="query-language.html" title="Chapter 7. Hibernate Query Language"></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">Chapter 6. Manipulating Persistent Data</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="adv-or-mapping.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="query-language.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="manipulating-data"></a>Chapter 6. Manipulating Persistent Data</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="manipulating-data-s1"></a>Creating a persistent object</h2></div></div><p> An object (entity instance) is either <span class="emphasis"><i>transient</i></span> or <span class="emphasis"><i>persistent</i></span> with respect to a particular Index: or-mapping.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/or-mapping.html,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** or-mapping.html 25 Nov 2002 21:01:52 -0000 1.35 --- or-mapping.html 26 Nov 2002 08:14:58 -0000 1.36 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 4. Basic O/R Mapping</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="persistent-classes.html" title="Chapter 3. Persistent Classes"><link rel="next" href="adv-or-mapping.html" title="Chapter 5. Advanced O/R Mapping"></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">Chapter 4. Basic O/R Mapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="persistent-classes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="adv-or-mapping.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="or-mapping"></a>Chapter 4. Basic O/R Mapping</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="or-mapping-s1"></a>Mapping declaration</h2></div></div><p> Object-relational mappings may be defined in an external XML document. </p><p> --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 4. Basic O/R Mapping</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="persistent-classes.html" title="Chapter 3. Persistent Classes"><link rel="next" href="adv-or-mapping.html" title="Chapter 5. Advanced O/R Mapping"></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">Chapter 4. Basic O/R Mapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="persistent-classes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="adv-or-mapping.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="or-mapping"></a>Chapter 4. Basic O/R Mapping</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="or-mapping-s1"></a>Mapping declaration</h2></div></div><p> Object-relational mappings may be defined in an external XML document. </p><p> Index: persistent-classes.html =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/html/persistent-classes.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** persistent-classes.html 25 Nov 2002 21:01:53 -0000 1.10 --- persistent-classes.html 26 Nov 2002 08:14:58 -0000 1.11 *************** *** 1,5 **** <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 3. Persistent Classes</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="session-configuration.html" title="Chapter 2. SessionFactory Configuration"><link rel="next" href="or-mapping.html" title="Chapter 4. Basic O/R Mapping"></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">Chapter 3. Persistent Classes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="session-configuration.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="or-mapping.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="persistent-classes"></a>Chapter 3. Persistent Classes</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="persistent-classes-s1"></a>Simple Example</h2></div></div><p> Heres an example of a persistent class: </p><pre class="programlisting">package eg; --- 1,5 ---- <html><head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> ! <title>Chapter 3. Persistent Classes</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="up" href="index.html" title="Hibernate Reference Documentation"><link rel="previous" href="session-configuration.html" title="Chapter 2. SessionFactory Configuration"><link rel="next" href="or-mapping.html" title="Chapter 4. Basic O/R Mapping"></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">Chapter 3. Persistent Classes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="session-configuration.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="or-mapping.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="persistent-classes"></a>Chapter 3. Persistent Classes</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><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="persi... [truncated message content] |
From: <tu...@us...> - 2002-11-26 08:15:00
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/pdf In directory sc8-pr-cvs1:/tmp/cvs-serv32325/doc/reference/pdf Modified Files: hibernate_reference.pdf Log Message: Update to current and CSS quotation fix Index: hibernate_reference.pdf =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/pdf/hibernate_reference.pdf,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** hibernate_reference.pdf 25 Nov 2002 20:57:30 -0000 1.5 --- hibernate_reference.pdf 26 Nov 2002 08:14:56 -0000 1.6 *************** *** 3833,3845 **** >> endobj 1063 0 obj << ! /Length 1828 /Filter /FlateDecode >> stream ! xÚÕXKoÛ8¾ûWø(kZ$õì¢6i¶[l»[$·¶0hÈ*ÑqìßdYIú |