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