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
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv9385/sf/hibernate/persister Modified Files: AbstractEntityPersister.java EntityPersister.java Loadable.java NormalizedEntityPersister.java Log Message: fixed bug in generated SQL for loading <joined-subclass>es Index: AbstractEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/AbstractEntityPersister.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AbstractEntityPersister.java 20 Jan 2003 12:48:14 -0000 1.5 --- AbstractEntityPersister.java 24 Jan 2003 13:07:17 -0000 1.6 *************** *** 124,128 **** } ! public String identifierSelectClauseFragment(String name, String suffix) { return new SelectFragment() .setSuffix(suffix) --- 124,128 ---- } ! public String identifierSelectFragment(String name, String suffix) { return new SelectFragment() .setSuffix(suffix) Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** EntityPersister.java 24 Jan 2003 10:21:35 -0000 1.8 --- EntityPersister.java 24 Jan 2003 13:07:17 -0000 1.9 *************** *** 776,780 **** } ! public String fromClauseFragment(String name, boolean innerJoin, boolean includeSubclasses) { return getTableName() + ' ' + name; } --- 776,780 ---- } ! public String fromTableFragment(String name) { return getTableName() + ' ' + name; } *************** *** 820,824 **** } ! public String propertySelectClauseFragment(String name, String suffix) { SelectFragment frag = new SelectFragment() --- 820,824 ---- } ! public String propertySelectFragment(String name, String suffix) { SelectFragment frag = new SelectFragment() *************** *** 833,841 **** } ! public String fromJoinFragment(String alias, boolean innerJoin) { return StringHelper.EMPTY_STRING; } ! public String whereJoinFragment(String alias, boolean innerJoin) { return StringHelper.EMPTY_STRING; } --- 833,841 ---- } ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { return StringHelper.EMPTY_STRING; } ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { return StringHelper.EMPTY_STRING; } Index: Loadable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/Loadable.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Loadable.java 24 Jan 2003 10:21:36 -0000 1.5 --- Loadable.java 24 Jan 2003 13:07:17 -0000 1.6 *************** *** 89,96 **** /** * Given a query alias and an identifying suffix, render the * intentifier select fragment */ ! public String identifierSelectClauseFragment(String name, String suffix); /** * Given a query alias and an identifying suffix, render the --- 89,102 ---- /** + * Get the table alias for the particular subclass state + * (optional operation) + */ + public String getConcreteClassAlias(String alias); + + /** * Given a query alias and an identifying suffix, render the * intentifier select fragment */ ! public String identifierSelectFragment(String name, String suffix); /** * Given a query alias and an identifying suffix, render the *************** *** 98,116 **** * (optional operation) */ ! public String propertySelectClauseFragment(String alias, String suffix); /** ! * Get the from clause fragment, given a query alias * (optional operation) */ ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses); ! /** ! * Get the table alias for the particular subclass state * (optional operation) */ ! public String getConcreteClassAlias(String alias); ! ! public String whereJoinFragment(String alias, boolean innerJoin); ! public String fromJoinFragment(String alias, boolean innerJoin); } --- 104,123 ---- * (optional operation) */ ! public String propertySelectFragment(String alias, String suffix); /** ! * Get the main from table fragment, given a query alias * (optional operation) */ ! public String fromTableFragment(String alias); /** ! * Get the where clause part of any joins * (optional operation) */ ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses); ! /** ! * Get the from clause part of any joins ! * (optional operation) ! */ ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses); } Index: NormalizedEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/NormalizedEntityPersister.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NormalizedEntityPersister.java 24 Jan 2003 10:21:36 -0000 1.2 --- NormalizedEntityPersister.java 24 Jan 2003 13:07:17 -0000 1.3 *************** *** 912,922 **** } ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! StringBuffer buf = new StringBuffer(100); ! buf.append( subclassTableNameClosure[0] ) ! .append(' ') ! .append(alias) ! .append( outerjoin(alias, innerJoin, includeSubclasses).toFromFragmentString() ); ! return buf.toString(); } --- 912,917 ---- } ! public String fromTableFragment(String alias) { ! return subclassTableNameClosure[0] + ' ' + alias; } *************** *** 937,946 **** } - public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException { - String ojw = outerjoin(alias, true, includeSubclasses).toWhereFragmentString(); - return ( ojw.trim().length()==0 ) ? null : ojw; - - } - private int getTableId(String tableName, String[] tables) { for ( int tab=0; tab<tables.length; tab++ ) { --- 932,935 ---- *************** *** 980,984 **** } ! public String propertySelectClauseFragment(String alias, String suffix) { String[] cols = getSubclassColumnClosure(); --- 969,973 ---- } ! public String propertySelectFragment(String alias, String suffix) { String[] cols = getSubclassColumnClosure(); *************** *** 1023,1032 **** } ! public String fromJoinFragment(String alias, boolean innerJoin) { ! return outerjoin(alias, innerJoin, true).toFromFragmentString(); } ! public String whereJoinFragment(String alias, boolean innerJoin) { ! return outerjoin(alias, innerJoin, true).toWhereFragmentString(); } --- 1012,1025 ---- } ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! return outerjoin(alias, innerJoin, includeSubclasses).toFromFragmentString(); } ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! return outerjoin(alias, innerJoin, includeSubclasses).toWhereFragmentString(); ! } ! ! public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException { ! return whereJoinFragment(alias, true, includeSubclasses); } |
From: <one...@us...> - 2003-01-24 10:22:09
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv28888/sf/hibernate/loader Modified Files: OuterJoinLoader.java Log Message: fixed a problem with outerjoin fetching from queries with oracle-style syntax Index: OuterJoinLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader/OuterJoinLoader.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** OuterJoinLoader.java 20 Jan 2003 12:48:13 -0000 1.9 --- OuterJoinLoader.java 24 Jan 2003 10:21:35 -0000 1.10 *************** *** 242,246 **** } ! public void setSuffixed(String[] suffixes) { this.suffixes = suffixes; } --- 242,246 ---- } ! public void setSuffixes(String[] suffixes) { this.suffixes = suffixes; } |
From: <one...@us...> - 2003-01-24 10:22:09
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql In directory sc8-pr-cvs1:/tmp/cvs-serv28888/sf/hibernate/hql Modified Files: QueryTranslator.java Log Message: fixed a problem with outerjoin fetching from queries with oracle-style syntax Index: QueryTranslator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql/QueryTranslator.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** QueryTranslator.java 20 Jan 2003 12:48:10 -0000 1.8 --- QueryTranslator.java 24 Jan 2003 10:21:34 -0000 1.9 *************** *** 452,457 **** int joins=associations.size(); String[] ojsuffixes = new String[joins]; - ojl.setSuffixed(ojsuffixes); for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i) + StringHelper.UNDERSCORE; selectProperties = persister.propertySelectClauseFragment(name, StringHelper.EMPTY_STRING); selectIdentifiers = persister.identifierSelectClauseFragment(name, StringHelper.EMPTY_STRING); --- 452,457 ---- int joins=associations.size(); String[] ojsuffixes = new String[joins]; for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i) + StringHelper.UNDERSCORE; + ojl.setSuffixes(ojsuffixes); selectProperties = persister.propertySelectClauseFragment(name, StringHelper.EMPTY_STRING); selectIdentifiers = persister.identifierSelectClauseFragment(name, StringHelper.EMPTY_STRING); *************** *** 664,668 **** Iterator iter = typeMap.keySet().iterator(); StringBuffer inClassWheres = new StringBuffer(50); ! boolean first = true; while ( iter.hasNext() ) { --- 664,671 ---- Iterator iter = typeMap.keySet().iterator(); StringBuffer inClassWheres = new StringBuffer(50); ! ! // add any outerjoins required for fetching associations ! if (outerjoin!=null) inClassWheres.append( outerjoin.toWhereFragmentString() ); ! while ( iter.hasNext() ) { *************** *** 672,683 **** //render the " and foo.class in ( 'Foo', 'Bar' ) " bit ! String where = p.getQueryWhereClause( name, returnTypes.contains(name) && !isShallowQuery() ); ! if ( where!=null ) { ! if (!first) inClassWheres.append(" AND "); ! first=false; ! inClassWheres.append(where); ! } ! } StringBuffer buf = new StringBuffer(120); --- 675,685 ---- //render the " and foo.class in ( 'Foo', 'Bar' ) " bit ! String where = p.queryWhereFragment( name, returnTypes.contains(name) && !isShallowQuery() ); ! if ( where!=null ) inClassWheres.append(where); } + + //if ( inClassWheres.toString().toLowerCase().startsWith(" and ") ) { + inClassWheres.delete(0, 5); //remove the leading " and " + //} StringBuffer buf = new StringBuffer(120); |
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv28888/sf/hibernate/persister Modified Files: EntityPersister.java Loadable.java NormalizedEntityPersister.java Queryable.java Log Message: fixed a problem with outerjoin fetching from queries with oracle-style syntax Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EntityPersister.java 20 Jan 2003 12:48:14 -0000 1.7 --- EntityPersister.java 24 Jan 2003 10:21:35 -0000 1.8 *************** *** 780,784 **** } ! public String getQueryWhereClause(String name, boolean includeSubclasses) throws MappingException { if ( isInherited() ) { --- 780,784 ---- } ! public String queryWhereFragment(String name, boolean includeSubclasses) throws MappingException { if ( isInherited() ) { *************** *** 791,795 **** ); } ! return frag.toFragmentString(); } else { --- 791,795 ---- ); } ! return " and " + frag.toFragmentString(); } else { Index: Loadable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/Loadable.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Loadable.java 20 Jan 2003 12:48:14 -0000 1.4 --- Loadable.java 24 Jan 2003 10:21:36 -0000 1.5 *************** *** 98,107 **** * (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, boolean includeSubclasses); /** --- 98,107 ---- * (optional operation) */ ! public String propertySelectClauseFragment(String alias, String suffix); /** * Get the from clause fragment, given a query alias * (optional operation) */ ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses); /** Index: NormalizedEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/NormalizedEntityPersister.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NormalizedEntityPersister.java 20 Jan 2003 18:45:18 -0000 1.1 --- NormalizedEntityPersister.java 24 Jan 2003 10:21:36 -0000 1.2 *************** *** 912,921 **** } ! public String fromClauseFragment(String name, boolean innerJoin, boolean includeSubclasses) { StringBuffer buf = new StringBuffer(100); buf.append( subclassTableNameClosure[0] ) .append(' ') ! .append(name) ! .append( outerjoin(name, innerJoin, includeSubclasses).toFromFragmentString() ); return buf.toString(); } --- 912,921 ---- } ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses) { StringBuffer buf = new StringBuffer(100); buf.append( subclassTableNameClosure[0] ) .append(' ') ! .append(alias) ! .append( outerjoin(alias, innerJoin, includeSubclasses).toFromFragmentString() ); return buf.toString(); } *************** *** 937,944 **** } ! public String getQueryWhereClause(String alias, boolean includeSubclasses) throws MappingException { String ojw = outerjoin(alias, true, includeSubclasses).toWhereFragmentString(); - //remove leading " AND " - if ( ojw.toUpperCase().startsWith(" AND ") ) ojw = ojw.substring(5); return ( ojw.trim().length()==0 ) ? null : ojw; --- 937,942 ---- } ! public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException { String ojw = outerjoin(alias, true, includeSubclasses).toWhereFragmentString(); return ( ojw.trim().length()==0 ) ? null : ojw; Index: Queryable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/Queryable.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Queryable.java 20 Jan 2003 12:48:14 -0000 1.4 --- Queryable.java 24 Jan 2003 10:21:36 -0000 1.5 *************** *** 44,48 **** * Get the where clause fragment, given a query alias */ ! public String getQueryWhereClause(String name, boolean includeSubclasses) throws MappingException; /** --- 44,48 ---- * Get the where clause fragment, given a query alias */ ! public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException; /** *************** *** 50,54 **** * column name */ ! public String[] toColumns(String name, String property) throws QueryException; } --- 50,54 ---- * column name */ ! public String[] toColumns(String alias, String property) throws QueryException; } |
From: <one...@us...> - 2003-01-24 10:21:40
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv28888/sf/hibernate/sql Modified Files: ANSIOuterJoinFragment.java Log Message: fixed a problem with outerjoin fetching from queries with oracle-style syntax Index: ANSIOuterJoinFragment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql/ANSIOuterJoinFragment.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ANSIOuterJoinFragment.java 20 Jan 2003 18:45:18 -0000 1.1 --- ANSIOuterJoinFragment.java 24 Jan 2003 10:21:37 -0000 1.2 *************** *** 2,5 **** --- 2,6 ---- package net.sf.hibernate.sql; + import net.sf.hibernate.AssertionFailure; import net.sf.hibernate.util.StringHelper; *************** *** 18,21 **** --- 19,23 ---- for ( int j=0; j<fkColumns.length; j++) { + if (fkColumns[j].indexOf('.')<1) throw new AssertionFailure("missing alias"); buffer.append( fkColumns[j] ) .append('=') |
From: <one...@us...> - 2003-01-22 13:35:21
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv3160/sf/hibernate/test Modified Files: FooBarTest.java Log Message: update() support for embedded composite ids Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/FooBarTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** FooBarTest.java 20 Jan 2003 18:45:18 -0000 1.13 --- FooBarTest.java 22 Jan 2003 13:35:18 -0000 1.14 *************** *** 23,26 **** --- 23,27 ---- import net.sf.hibernate.Databinder; import net.sf.hibernate.Environment; + import net.sf.hibernate.FlushMode; import net.sf.hibernate.Hibernate; import net.sf.hibernate.LazyInitializationException; *************** *** 2822,2829 **** --- 2823,2837 ---- s.close(); s = sessions.openSession(); + s.setFlushMode(FlushMode.NEVER); l = (Location) s.find("from l in class Location where l.countryCode = 'AU' and l.description='foo bar'").get(0); assertTrue( l.getCountryCode().equals("AU") ); assertTrue( l.getCity().equals("Melbourne") ); assertTrue( l.getLocale().equals( Locale.getDefault() ) ); + s.close(); + s = sessions.openSession(); + l.setDescription("sick're"); + s.update(l); + s.flush(); + s.connection().commit(); s.close(); s = sessions.openSession(); |
From: <one...@us...> - 2003-01-22 13:35:21
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv3160/sf/hibernate/impl Modified Files: SessionImpl.java Log Message: update() support for embedded composite ids Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SessionImpl.java 22 Jan 2003 13:09:19 -0000 1.11 --- SessionImpl.java 22 Jan 2003 13:35:18 -0000 1.12 *************** *** 952,956 **** } - //deprecated: public void update(Object obj) throws HibernateException { --- 952,955 ---- *************** *** 960,964 **** ClassPersister persister = getPersister(object); ! if ( persister.hasIdentifierProperty() ) { if ( isEntryFor(object) ) { --- 959,963 ---- ClassPersister persister = getPersister(object); ! //if ( persister.hasIdentifierProperty() ) { if ( isEntryFor(object) ) { *************** *** 972,976 **** if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException("The given object has a null identifier property " + infoString(persister)); } else { --- 971,977 ---- if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException( ! "The given object has a null identifier property " + infoString(persister) ! ); } else { *************** *** 980,987 **** } ! } else { throw new HibernateException("The given object has no identifier property - you must supply an id " + infoString(persister)); ! } } --- 981,988 ---- } ! /*} else { throw new HibernateException("The given object has no identifier property - you must supply an id " + infoString(persister)); ! }*/ } |
From: <one...@us...> - 2003-01-22 13:32:23
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv1093/hibernate/test Modified Files: FooBarTest.java Log Message: update() support for embedded composite ids Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/FooBarTest.java,v retrieving revision 1.238 retrieving revision 1.239 diff -C2 -d -r1.238 -r1.239 *** FooBarTest.java 30 Dec 2002 13:11:42 -0000 1.238 --- FooBarTest.java 22 Jan 2003 13:32:19 -0000 1.239 *************** *** 2761,2764 **** --- 2761,2770 ---- s.close(); s = sessions.openSession(); + l.setDescription("sick're"); + s.update(l); + s.flush(); + s.connection().commit(); + s.close(); + s = sessions.openSession(); l = new Location(); l.setCountryCode("AU"); |
From: <one...@us...> - 2003-01-22 13:32:23
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv1093/hibernate/impl Modified Files: SessionImpl.java Log Message: update() support for embedded composite ids Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionImpl.java,v retrieving revision 1.161 retrieving revision 1.162 diff -C2 -d -r1.161 -r1.162 *** SessionImpl.java 4 Jan 2003 13:05:14 -0000 1.161 --- SessionImpl.java 22 Jan 2003 13:32:19 -0000 1.162 *************** *** 886,890 **** ClassPersister persister = getPersister(object); ! if ( persister.hasIdentifierProperty() ) { if ( !isEntryFor(object) ) { //the object is transient --- 886,890 ---- ClassPersister persister = getPersister(object); ! //if ( persister.hasIdentifierProperty() ) { if ( !isEntryFor(object) ) { //the object is transient *************** *** 894,898 **** if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException("The given object has a null identifier property " + infoString(persister)); } else { --- 894,900 ---- if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException( ! "The given object has a null identifier property " + infoString(persister) ! ); } else { *************** *** 902,909 **** } ! } else { throw new HibernateException("The given object has no identifier property - you must supply an id " + infoString(persister)); ! } } --- 904,911 ---- } ! /*} else { throw new HibernateException("The given object has no identifier property - you must supply an id " + infoString(persister)); ! }*/ } |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate/impl Modified Files: DatastoreImpl.java SessionImpl.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: DatastoreImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/DatastoreImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** DatastoreImpl.java 20 Jan 2003 12:48:11 -0000 1.6 --- DatastoreImpl.java 22 Jan 2003 13:09:19 -0000 1.7 *************** *** 410,413 **** --- 410,420 ---- } + /** + * @see net.sf.hibernate.Interceptor#isUnsaved(java.lang.Object) + */ + public Boolean isUnsaved(Object entity) { + return null; + } + } Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SessionImpl.java 15 Jan 2003 12:49:01 -0000 1.10 --- SessionImpl.java 22 Jan 2003 13:09:19 -0000 1.11 *************** *** 488,494 **** * object and returned. */ ! public Serializable save(Object object) throws HibernateException { ! if (object==null) throw new NullPointerException("attempted to save null"); EntityEntry e = getEntry(object); --- 488,496 ---- * object and returned. */ ! public Serializable save(Object obj) throws HibernateException { ! if (obj==null) throw new NullPointerException("attempted to save null"); ! ! Object object = HibernateProxyHelper.unproxy(obj, this); EntityEntry e = getEntry(object); *************** *** 510,514 **** throw new JDBCException("Could not save object", sqle); } ! return doSave(object, id); } --- 512,516 ---- throw new JDBCException("Could not save object", sqle); } ! return doSave(object, obj, id); } *************** *** 517,525 **** * Save a transient object with a manually assigned ID. */ ! public void save(Object object, Serializable id) throws HibernateException { ! if (object==null) throw new NullPointerException("attempted to insert null"); if (id==null) throw new NullPointerException("null identifier passed to insert()"); EntityEntry e = getEntry(object); if ( e!=null ) { --- 519,529 ---- * Save a transient object with a manually assigned ID. */ ! public void save(Object obj, Serializable id) throws HibernateException { ! if (obj==null) throw new NullPointerException("attempted to insert null"); if (id==null) throw new NullPointerException("null identifier passed to insert()"); + Object object = HibernateProxyHelper.unproxy(obj, this); + EntityEntry e = getEntry(object); if ( e!=null ) { *************** *** 536,543 **** } ! doSave(object, id); } ! private Serializable doSave(Object object, Serializable id) throws HibernateException { ClassPersister persister = getPersister(object); --- 540,547 ---- } ! doSave(object, obj, id); } ! private Serializable doSave(Object object, Object proxy, Serializable id) throws HibernateException { ClassPersister persister = getPersister(object); *************** *** 634,637 **** --- 638,642 ---- addEntry(object, LOADED, values, id, Versioning.getVersion(values, persister), LockMode.WRITE, identityCol, persister); //tableAccesses.add( persister.getQualifiedTableName() ); + if (proxy!=object) proxiesByKey.put(key, proxy); if (!identityCol) insertions.add( new ScheduledInsertion( id, values, object, persister, this ) ); *************** *** 989,1015 **** if (e!=null && e.status!=DELETED) { // do nothing for persistent instances ! log.trace("object already associated with session"); } ! else if (e!=null) { //e.status==DELETED ! save(object); } else { // the object is transient ! ClassPersister persister = getPersister(object); ! if ( persister.hasIdentifierProperty() ) { ! ! Serializable id = persister.getIdentifier(object); ! ! if ( persister.isUnsaved(id) ) { ! save(object); } else { ! doUpdate(object, obj, id); } - } else { ! save(object); } --- 994,1040 ---- if (e!=null && e.status!=DELETED) { // do nothing for persistent instances ! log.trace("saveOrUpdate() persistent instance"); } ! else if (e!=null) { //ie. e.status==DELETED ! log.trace("saveOrUpdate() deleted instance"); ! save(obj); } else { // the object is transient ! Boolean isUnsaved = interceptor.isUnsaved(object); ! if (isUnsaved==null) { ! // use unsaved-value ! ClassPersister persister = getPersister(object); ! if ( persister.hasIdentifierProperty() ) { ! ! Serializable id = persister.getIdentifier(object); ! ! if ( persister.isUnsaved(id) ) { ! if ( log.isTraceEnabled() ) log.trace("saveOrUpdate() unsaved instance with id: " + id); ! save(obj); ! } ! else { ! if ( log.isTraceEnabled() ) log.trace("saveOrUpdate() previously saved instance with id: " + id); ! doUpdate(object, obj, id); ! ! } ! } else { ! // no identifier property ... default to save() ! log.trace("saveOrUpdate() unsaved instance with no identifier property"); ! save(obj); } } else { ! if ( Boolean.TRUE.equals(isUnsaved) ) { ! log.trace("saveOrUpdate() unsaved instance"); ! save(obj); ! } ! else { ! log.trace("saveOrUpdate() previously saved instance"); ! update(obj); ! } } |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate/mapping Modified Files: RootClass.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: RootClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/RootClass.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RootClass.java 19 Jan 2003 11:47:07 -0000 1.6 --- RootClass.java 22 Jan 2003 13:09:19 -0000 1.7 *************** *** 140,144 **** identifier = new Value(subnode, false, table, root, DEFAULT_IDENTIFIER_COLUMN_NAME); if (identifier.getType()==null) throw new MappingException( "must specify an identifier type: " + getPersistentClass().getName() ); - identifier.makeIdentifier(subnode, root); identifierProperty = null; } --- 140,143 ---- *************** *** 146,150 **** identifier = new Value(subnode, false, table, root, propertyName); identifier.setTypeByReflection( getPersistentClass(), propertyName ); - identifier.makeIdentifier(subnode, root); identifierProperty = new Property(subnode, identifier, root); } --- 145,148 ---- *************** *** 152,155 **** --- 150,154 ---- "illegal use of an array as an identifier (arrays don't reimplement equals)" ); + identifier.makeIdentifier(subnode, root); } else if ( "composite-id".equals(name) ) { *************** *** 164,167 **** --- 163,167 ---- identifierProperty = new Property(subnode, identifier, root); } + identifier.makeIdentifier(subnode, root); } else if ( "version".equals(name) || "timestamp".equals(name) ) { |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate/test Modified Files: Baz.hbm.xml Simple.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: Baz.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Baz.hbm.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Baz.hbm.xml 20 Jan 2003 18:45:18 -0000 1.5 --- Baz.hbm.xml 22 Jan 2003 13:09:20 -0000 1.6 *************** *** 5,9 **** <class name="net.sf.hibernate.test.Baz"> <id name="code" type="string"> ! <column name="idcode" length="32"/> <generator class="uuid.hex"/> </id> --- 5,9 ---- <class name="net.sf.hibernate.test.Baz"> <id name="code" type="string"> ! <column name="baz_id" length="32"/> <generator class="uuid.hex"/> </id> Index: Simple.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Simple.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Simple.java 5 Jan 2003 02:11:23 -0000 1.3 --- Simple.java 22 Jan 2003 13:09:20 -0000 1.4 *************** *** 9,12 **** --- 9,17 ---- private Simple other; + public Simple(int c) { + count=c; + } + public Simple() {} + public void init() { name="Someone With Along Name"; |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/proxy In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate/proxy Modified Files: LazyInitializer.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: LazyInitializer.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/proxy/LazyInitializer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LazyInitializer.java 14 Jan 2003 13:42:18 -0000 1.4 --- LazyInitializer.java 22 Jan 2003 13:09:19 -0000 1.5 *************** *** 142,146 **** } } ! /** * Return the underlying persistent object, initializing if necessary --- 142,146 ---- } } ! /** * Return the underlying persistent object, initializing if necessary |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate Modified Files: Interceptor.java hibernate-mapping-1.1.dtd hibernate-mapping-2.0.dtd Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: Interceptor.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/Interceptor.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Interceptor.java 5 Jan 2003 02:11:19 -0000 1.3 --- Interceptor.java 22 Jan 2003 13:09:19 -0000 1.4 *************** *** 41,45 **** */ public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState, String[] propertyNames, Type[] types); - //public void onPostFlush(Object entity, Serializable id, Object[] currentState, String[] propertyNames, Type[] types); /** * Called before an object is saved. The interceptor may modify the <tt>state</tt>, which will be used for --- 41,44 ---- *************** *** 62,65 **** --- 61,76 ---- */ public void postFlush(Iterator entities); + + /** + * Called when a transient entity is passed to <tt>saveOrUpdate()</tt>. The return value determines + * <ul> + * <li><tt>Boolean.TRUE</tt> - the entity is passed to <tt>save()</tt>, resulting in an <tt>INSERT</tt> + * <li><tt>Boolean.FALSE</tt> - the entity is passed to <tt>update()</tt>, resulting in an <tt>UPDATE</tt> + * <li><tt>null</tt> - Hibernate uses the <tt>unsaved-value</tt> mapping to determine if the object is unsaved + * </ul> + * @param entity a transient entity + * @return Boolean + */ + public Boolean isUnsaved(Object entity); } Index: hibernate-mapping-1.1.dtd =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hibernate-mapping-1.1.dtd,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** hibernate-mapping-1.1.dtd 13 Jan 2003 08:57:43 -0000 1.3 --- hibernate-mapping-1.1.dtd 22 Jan 2003 13:09:19 -0000 1.4 *************** *** 56,60 **** <!ATTLIST id type CDATA #IMPLIED> <!ATTLIST id length CDATA #IMPLIED> ! <!ATTLIST id unsaved-value CDATA "any"> <!-- any|none|null|"value" --> <!-- A composite key may be modelled by a java class with a property for each --- 56,60 ---- <!ATTLIST id type CDATA #IMPLIED> <!ATTLIST id length CDATA #IMPLIED> ! <!ATTLIST id unsaved-value CDATA "any"> <!-- any|none|null|0|-1|.... --> <!-- A composite key may be modelled by a java class with a property for each *************** *** 65,69 **** <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none|null) "any"> <!-- default: any --> <!-- Polymorphic data requires a column holding a class discriminator value. This --- 65,69 ---- <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none) "any"> <!-- Polymorphic data requires a column holding a class discriminator value. This Index: hibernate-mapping-2.0.dtd =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hibernate-mapping-2.0.dtd,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** hibernate-mapping-2.0.dtd 19 Jan 2003 11:47:07 -0000 1.8 --- hibernate-mapping-2.0.dtd 22 Jan 2003 13:09:19 -0000 1.9 *************** *** 53,57 **** <!ATTLIST id type CDATA #IMPLIED> <!ATTLIST id length CDATA #IMPLIED> ! <!ATTLIST id unsaved-value CDATA "null"> <!-- any|none|null|"value" --> <!-- A composite key may be modelled by a java class with a property for each --- 53,57 ---- <!ATTLIST id type CDATA #IMPLIED> <!ATTLIST id length CDATA #IMPLIED> ! <!ATTLIST id unsaved-value CDATA "null"> <!-- any|none|null|0|-1|... --> <!-- A composite key may be modelled by a java class with a property for each *************** *** 62,66 **** <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none|null) "any"> <!-- default: any --> <!-- Polymorphic data requires a column holding a class discriminator value. This --- 62,66 ---- <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none) "none"> <!-- Polymorphic data requires a column holding a class discriminator value. This |
From: <one...@us...> - 2003-01-22 13:09:22
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/engine In directory sc8-pr-cvs1:/tmp/cvs-serv17676/sf/hibernate/engine Modified Files: Cascades.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id added Interceptor.isUnsaved() made save() aware of proxies Index: Cascades.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/engine/Cascades.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Cascades.java 14 Jan 2003 13:42:08 -0000 1.5 --- Cascades.java 22 Jan 2003 13:09:19 -0000 1.6 *************** *** 170,173 **** --- 170,174 ---- */ public boolean isUnsaved(Serializable id) { + if ( log.isTraceEnabled() ) log.trace("unsaved-value: " + value); return id==null || value.equals(id); } *************** *** 179,182 **** --- 180,184 ---- public static final IdentifierValue SAVE_ANY = new IdentifierValue() { public final boolean isUnsaved(Serializable id) { + log.trace("unsaved-value strategy ANY"); return true; } *************** *** 187,190 **** --- 189,193 ---- public static final IdentifierValue SAVE_NONE = new IdentifierValue() { public final boolean isUnsaved(Serializable id) { + log.trace("unsaved-value strategy NONE"); return false; } *************** *** 196,199 **** --- 199,203 ---- public static final IdentifierValue SAVE_NULL = new IdentifierValue() { public final boolean isUnsaved(Serializable id) { + log.trace("unsaved-value strategy NULL"); return id==null; } |
From: <one...@us...> - 2003-01-22 13:06:42
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv15990/hibernate/test Modified Files: One.hbm.xml Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id Index: One.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/One.hbm.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** One.hbm.xml 4 Aug 2002 10:56:05 -0000 1.1 --- One.hbm.xml 22 Jan 2003 13:06:39 -0000 1.2 *************** *** 5,9 **** <hibernate-mapping> <class name="cirrus.hibernate.test.One" table="one"> ! <id name="key" column="one_key"> <generator class="hilo.long" /> </id> --- 5,9 ---- <hibernate-mapping> <class name="cirrus.hibernate.test.One" table="one"> ! <id name="key" column="one_key" unsaved-value="null"> <generator class="hilo.long" /> </id> |
From: <one...@us...> - 2003-01-22 13:06:42
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory sc8-pr-cvs1:/tmp/cvs-serv15990/hibernate/map Modified Files: Component.java RootClass.java Value.java Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id Index: Component.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Component.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** Component.java 30 Nov 2002 08:19:00 -0000 1.36 --- Component.java 22 Jan 2003 13:06:39 -0000 1.37 *************** *** 53,57 **** public Component(Node node, Class reflectedClass, String path, PersistentClass owner, boolean isNullable, Table table, Root root) throws MappingException { ! super(); setTable(table); Node classNode = node.getAttributes().getNamedItem("class"); --- 53,57 ---- public Component(Node node, Class reflectedClass, String path, PersistentClass owner, boolean isNullable, Table table, Root root) throws MappingException { ! super(node, root); setTable(table); Node classNode = node.getAttributes().getNamedItem("class"); Index: RootClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/RootClass.java,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** RootClass.java 30 Dec 2002 12:48:52 -0000 1.56 --- RootClass.java 22 Jan 2003 13:06:39 -0000 1.57 *************** *** 7,20 **** import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; ! import org.w3c.dom.*; import cirrus.hibernate.cache.Cache; import cirrus.hibernate.cache.CacheConcurrencyStrategy; import cirrus.hibernate.cache.HashBelt; - import cirrus.hibernate.cache.ReadWriteCache; import cirrus.hibernate.cache.ReadOnlyCache; import cirrus.hibernate.helpers.ReflectHelper; import cirrus.hibernate.helpers.StringHelper; - import cirrus.hibernate.*; - import cirrus.hibernate.Hibernate; public class RootClass extends PersistentClass { --- 7,23 ---- import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; ! import org.w3c.dom.NamedNodeMap; ! import org.w3c.dom.Node; ! import org.w3c.dom.NodeList; ! ! import cirrus.hibernate.Hibernate; ! import cirrus.hibernate.MappingException; import cirrus.hibernate.cache.Cache; import cirrus.hibernate.cache.CacheConcurrencyStrategy; import cirrus.hibernate.cache.HashBelt; import cirrus.hibernate.cache.ReadOnlyCache; + import cirrus.hibernate.cache.ReadWriteCache; import cirrus.hibernate.helpers.ReflectHelper; import cirrus.hibernate.helpers.StringHelper; public class RootClass extends PersistentClass { Index: Value.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Value.java,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** Value.java 26 Dec 2002 03:35:07 -0000 1.45 --- Value.java 22 Jan 2003 13:06:39 -0000 1.46 *************** *** 4,14 **** import java.util.ArrayList; import java.util.Iterator; ! import org.w3c.dom.*; ! import cirrus.hibernate.*; import cirrus.hibernate.helpers.ReflectHelper; import cirrus.hibernate.id.Assigned; import cirrus.hibernate.id.IdentifierGenerator; - import cirrus.hibernate.type.*; import cirrus.hibernate.type.Type; public class Value { --- 4,19 ---- import java.util.ArrayList; import java.util.Iterator; ! ! import org.w3c.dom.NamedNodeMap; ! import org.w3c.dom.Node; ! import org.w3c.dom.NodeList; ! ! import cirrus.hibernate.HibernateException; ! import cirrus.hibernate.MappingException; import cirrus.hibernate.helpers.ReflectHelper; import cirrus.hibernate.id.Assigned; import cirrus.hibernate.id.IdentifierGenerator; import cirrus.hibernate.type.Type; + import cirrus.hibernate.type.TypeFactory; public class Value { *************** *** 52,55 **** --- 57,79 ---- protected Value() {} + + protected Value(Node node, Root root) throws MappingException { + //GENERATOR + NodeList list = node.getChildNodes(); + for ( int i=0; i<list.getLength(); i++ ) { + Node subnode = list.item(i); + if ( "generator".equals( subnode.getNodeName() ) ) { + try { + generator = root.createIDGenerator(subnode); + } catch (Exception e) { + throw new MappingException( "Error creating ID generator",e); + } + if (table!=null) table.setIdentifierGenerator(generator); + } + } + // UNSAVED-VALUE + Node nullValueNode = node.getAttributes().getNamedItem("unsaved-value"); + if (nullValueNode!=null) nullValue = nullValueNode.getNodeValue(); + } public Value(Type type, Table table, String columnName) { *************** *** 63,67 **** //Does _not_ automatically make a column if none is specifed by XML public Value(Node node, String path, boolean isNullable, Table table, Root root) throws MappingException { ! this.table = table; --- 87,91 ---- //Does _not_ automatically make a column if none is specifed by XML public Value(Node node, String path, boolean isNullable, Table table, Root root) throws MappingException { ! this(node, root); this.table = table; *************** *** 123,142 **** addColumn(col); } - //GENERATOR - NodeList list = node.getChildNodes(); - for ( int i=0; i<list.getLength(); i++ ) { - Node subnode = list.item(i); - if ( "generator".equals( subnode.getNodeName() ) ) { - try { - generator = root.createIDGenerator(subnode); - } catch (Exception e) { - throw new MappingException( "Error creating ID generator",e); - } - if (table!=null) table.setIdentifierGenerator(generator); - } - } - // UNSAVED-VALUE - Node nullValueNode = node.getAttributes().getNamedItem("unsaved-value"); - if (nullValueNode!=null) nullValue = nullValueNode.getNodeValue(); } --- 147,150 ---- |
From: <one...@us...> - 2003-01-22 13:06:41
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv15990/hibernate Modified Files: hibernate-mapping-1.1.dtd Log Message: fixed a problem with unsaved-value attribute not being recognized for composite-id Index: hibernate-mapping-1.1.dtd =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/hibernate-mapping-1.1.dtd,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** hibernate-mapping-1.1.dtd 26 Dec 2002 03:35:07 -0000 1.14 --- hibernate-mapping-1.1.dtd 22 Jan 2003 13:06:38 -0000 1.15 *************** *** 65,69 **** <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none|null) "any"> <!-- default: any --> <!-- Polymorphic data requires a column holding a class discriminator value. This --- 65,69 ---- <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id name CDATA #IMPLIED> ! <!ATTLIST composite-id unsaved-value (any|none) "any"> <!-- Polymorphic data requires a column holding a class discriminator value. This |
From: <one...@us...> - 2003-01-20 18:51:15
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv12617/sf/hibernate/persister Removed Files: MultiTableEntityPersister.java Log Message: refactorings to create SQL generation layer --- MultiTableEntityPersister.java DELETED --- |
From: <one...@us...> - 2003-01-20 18:45:32
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv9798/sf/hibernate/sql Added Files: ANSIOuterJoinFragment.java CaseFragment.java ConditionFragment.java Delete.java InFragment.java Insert.java OracleOuterJoinFragment.java OuterJoinFragment.java Select.java SelectFragment.java SimpleSelect.java Update.java Log Message: refactorings to create SQL generation layer --- NEW FILE: ANSIOuterJoinFragment.java --- //$Id: ANSIOuterJoinFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import net.sf.hibernate.util.StringHelper; public class ANSIOuterJoinFragment extends OuterJoinFragment { private StringBuffer buffer = new StringBuffer(); public void addJoin(String tableName, String alias, String[] fkColumns, String[] pkColumns, boolean innerJoin) { buffer.append( innerJoin ? " inner join " : " left outer join ") .append(tableName) .append(' ') .append(alias) .append(" on "); for ( int j=0; j<fkColumns.length; j++) { buffer.append( fkColumns[j] ) .append('=') .append(alias) .append(StringHelper.DOT) .append( pkColumns[j] ); if ( j<fkColumns.length-1 ) buffer.append(" and "); } } public String toFromFragmentString() { return buffer.toString(); } public String toWhereFragmentString() { return StringHelper.EMPTY_STRING; } public void addJoins(String fromFragment, String whereFragment) { buffer.append(fromFragment); //where fragment must be empty! } } --- NEW FILE: CaseFragment.java --- //$Id: CaseFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.Iterator; import java.util.Map; import net.sf.hibernate.util.StringHelper; import org.apache.commons.collections.SequencedHashMap; /** * Represents an SQL <tt>case when .... then .... end as ...</tt> */ public class CaseFragment { private String returnColumnName; private Map cases = new SequencedHashMap(); public CaseFragment setReturnColumnName(String returnColumnName) { this.returnColumnName = returnColumnName; return this; } public CaseFragment setReturnColumnName(String returnColumnName, String suffix) { return setReturnColumnName( StringHelper.suffix(returnColumnName, suffix) ); } public CaseFragment addWhenColumnNotNull(String alias, String columnName, String value) { cases.put( alias + StringHelper.DOT + columnName + " is not null", value ); return this; } public String toFragmentString() { StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 ); buf.append("case"); Iterator iter = cases.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry me = (Map.Entry) iter.next(); buf.append(" when ") .append( me.getKey() ) .append(" then ") .append( me.getValue() ); } return buf.append(" end as ") .append(returnColumnName) .toString(); } } --- NEW FILE: ConditionFragment.java --- //$Id: ConditionFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import net.sf.hibernate.util.ArrayHelper; import net.sf.hibernate.util.StringHelper; /** */ public class ConditionFragment { private String tableAlias; private String[] lhs; private String[] rhs; private String op = "="; /** * Sets the op. * @param op The op to set */ public ConditionFragment setOp(String op) { this.op = op; return this; } /** * Sets the tableAlias. * @param tableAlias The tableAlias to set */ public ConditionFragment setTableAlias(String tableAlias) { this.tableAlias = tableAlias; return this; } public ConditionFragment setCondition(String[] lhs, String[] rhs) { this.lhs = lhs; this.rhs = rhs; return this; } public ConditionFragment setCondition(String[] lhs, String rhs) { this.lhs = lhs; this.rhs = ArrayHelper.fillArray(rhs, lhs.length); return this; } public String toFragmentString() { StringBuffer buf = new StringBuffer( lhs.length * 10 ); for ( int i=0; i<lhs.length; i++ ) { buf.append(tableAlias) .append(StringHelper.DOT) .append( lhs[i] ) .append(op) .append( rhs[i] ); if (i<lhs.length-1) buf.append(" and "); } return buf.toString(); } } --- NEW FILE: Delete.java --- //$Id: Delete.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import net.sf.hibernate.util.StringHelper; /** * An SQL <tt>INSERT</tt> statement */ public class Delete { private String tableName; private String[] primaryKeyColumnNames; private String versionColumnName; public Delete setTableName(String tableName) { this.tableName = tableName; return this; } public String toStatementString() { StringBuffer buf = new StringBuffer( tableName.length() + 10 ); buf.append("delete from ") .append(tableName) .append(" where ") .append( StringHelper.join("=? and ", primaryKeyColumnNames) ) .append("=?"); if (versionColumnName!=null) { buf.append(" and ") .append(versionColumnName) .append("=?"); } return buf.toString(); } public Delete setPrimaryKeyColumnNames(String[] primaryKeyColumnNames) { this.primaryKeyColumnNames = primaryKeyColumnNames; return this; } public Delete setVersionColumnName(String versionColumnName) { this.versionColumnName = versionColumnName; return this; } } --- NEW FILE: InFragment.java --- //$Id: InFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import net.sf.hibernate.util.StringHelper; /** * Represents an <tt>... in(...)</tt> expression */ public class InFragment { private String columnName; private Set values = new HashSet(); public InFragment addValue(String value) { values.add(value); return this; } public InFragment setColumn(String columnName) { this.columnName = columnName; return this; } public InFragment setColumn(String alias, String columnName) { return setColumn( this.columnName = alias + StringHelper.DOT + columnName ); } public String toFragmentString() { StringBuffer buf = new StringBuffer( values.size() * 5 ); buf.append(columnName); if ( values.size()>1 ) { buf.append(" in ("); Iterator iter = values.iterator(); while ( iter.hasNext() ) { buf.append( iter.next() ); if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(StringHelper.CLOSE_PAREN); } else { buf.append("=").append( values.iterator().next() ); } return buf.toString(); } } --- NEW FILE: Insert.java --- //$Id: Insert.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.Iterator; import java.util.Map; import net.sf.hibernate.dialect.Dialect; import net.sf.hibernate.type.LiteralType; import net.sf.hibernate.util.StringHelper; import org.apache.commons.collections.SequencedHashMap; /** * An SQL <tt>INSERT</tt> statement */ public class Insert { public Insert(Dialect dialect) { this.dialect = dialect; } private Dialect dialect; private String tableName; private Map columns = new SequencedHashMap(); public Insert addColumn(String columnName) { return addColumn(columnName, "?"); } public Insert addColumns(String[] columnNames) { for ( int i=0; i<columnNames.length; i++ ) { addColumn( columnNames[i] ); } return this; } public Insert addColumn(String columnName, String value) { columns.put(columnName, value); return this; } public Insert addColumn(String columnName, Object value, LiteralType type) throws Exception { return addColumn( columnName, type.objectToSQLString(value) ); } public Insert addIdentityColumn(String columnName) { String value = dialect.getIdentityInsertString(); if (value!=null) addColumn(columnName, value); return this; } public Insert setTableName(String tableName) { this.tableName = tableName; return this; } public String toStatementString() { StringBuffer buf = new StringBuffer( columns.size()*15 + tableName.length() + 10 ); buf.append("insert into ") .append(tableName); if ( columns.size()==0 ) { buf.append(' ').append( dialect.getNoColumnsInsertString() ); } else { buf.append(" ("); Iterator iter = columns.keySet().iterator(); while ( iter.hasNext() ) { buf.append( iter.next() ); if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(") values ("); iter = columns.values().iterator(); while ( iter.hasNext() ) { buf.append( iter.next() ); if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(')'); } return buf.toString(); } } --- NEW FILE: OracleOuterJoinFragment.java --- //$Id: OracleOuterJoinFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import net.sf.hibernate.util.StringHelper; public class OracleOuterJoinFragment extends OuterJoinFragment { private StringBuffer afterFrom = new StringBuffer(); private StringBuffer afterWhere = new StringBuffer(); public void addJoin(String tableName, String alias, String[] fkColumns, String[] pkColumns, boolean innerJoin) { afterFrom.append(StringHelper.COMMA_SPACE) .append(tableName) .append(' ') .append(alias); for ( int j=0; j<fkColumns.length; j++) { afterWhere.append(" and ") .append( fkColumns[j] ) .append('=') .append(alias) .append(StringHelper.DOT) .append( pkColumns[j] ); if (!innerJoin) afterWhere.append("(+)"); } } public String toFromFragmentString() { return afterFrom.toString(); } public String toWhereFragmentString() { return afterWhere.toString(); } public void addJoins(String fromFragment, String whereFragment) { afterFrom.append(fromFragment); afterWhere.append(whereFragment); } } --- NEW FILE: OuterJoinFragment.java --- //$Id: OuterJoinFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; public abstract class OuterJoinFragment { public abstract void addJoin(String tableName, String alias, String[] fkColumns, String[] pkColumns, boolean innerJoin); public abstract void addJoins(String fromFragment, String whereFragment); public abstract String toFromFragmentString(); public abstract String toWhereFragmentString(); } --- NEW FILE: Select.java --- //$Id: Select.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; /** */ public class Select { private String selectClause; private String fromClause; private String outerJoinsAfterFrom; private String whereClause; private String outerJoinsAfterWhere; private String orderByClause; /** * Construct an SQL <tt>SELECT</tt> statement from the given clauses */ public String toStatementString() { StringBuffer buf = new StringBuffer( selectClause.length() + fromClause.length() + outerJoinsAfterFrom.length() + whereClause.length() + outerJoinsAfterWhere.length() + 20 ); buf.append("SELECT ").append(selectClause) .append(" FROM ").append(fromClause) .append(outerJoinsAfterFrom) .append(" WHERE ").append(whereClause) .append(outerJoinsAfterWhere); if (orderByClause!=null) buf.append(" ORDER BY ").append(orderByClause); return buf.toString(); } /** * Sets the fromClause. * @param fromClause The fromClause to set */ public Select setFromClause(String fromClause) { this.fromClause = fromClause; return this; } public Select setFromClause(String tableName, String alias) { this.fromClause = tableName + ' ' + alias; return this; } /** * Sets the orderByClause. * @param orderByClause The orderByClause to set */ public Select setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; return this; } /** * Sets the outerJoins. * @param outerJoinsAfterFrom The outerJoinsAfterFrom to set * @param outerJoinsAfterWhere The outerJoinsAfterWhere to set */ public Select setOuterJoins(String outerJoinsAfterFrom, String outerJoinsAfterWhere) { this.outerJoinsAfterFrom = outerJoinsAfterFrom; this.outerJoinsAfterWhere = outerJoinsAfterWhere; return this; } /** * Sets the selectClause. * @param selectClause The selectClause to set */ public Select setSelectClause(String selectClause) { this.selectClause = selectClause; return this; } /** * Sets the whereClause. * @param whereClause The whereClause to set */ public Select setWhereClause(String whereClause) { this.whereClause = whereClause; return this; } } --- NEW FILE: SelectFragment.java --- //$Id: SelectFragment.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.sf.hibernate.util.StringHelper; /** * Represents part of an SQL <tt>SELECT</tt> clause */ public class SelectFragment { private String suffix; private List columns = new ArrayList(); private List aliases = new ArrayList(); private List columnAliases = new ArrayList(); public SelectFragment setSuffix(String suffix) { this.suffix = suffix; return this; } public SelectFragment addColumn(String columnName) { addColumn(null, columnName); return this; } public SelectFragment addColumns(String[] columnNames) { for (int i=0; i<columnNames.length; i++) addColumn( columnNames[i] ); return this; } public SelectFragment addColumn(String tableAlias, String columnName) { return addColumn(tableAlias, columnName, columnName); } public SelectFragment addColumn(String tableAlias, String columnName, String columnAlias) { columns.add(columnName); aliases.add(tableAlias); columnAliases.add(columnAlias); return this; } public SelectFragment addColumns(String tableAlias, String[] columnNames) { for (int i=0; i<columnNames.length; i++) addColumn( tableAlias, columnNames[i] ); return this; } public SelectFragment addColumns(String tableAlias, String[] columnNames, String[] columnAliases) { for (int i=0; i<columnNames.length; i++) addColumn( tableAlias, columnNames[i], columnAliases[i] ); return this; } public String toFragmentString() { StringBuffer buf = new StringBuffer( columns.size() * 10 ); Iterator iter = columns.iterator(); Iterator aliasIter = aliases.iterator(); Iterator columnAliasIter = columnAliases.iterator(); while ( iter.hasNext() ) { String col = (String) iter.next(); buf.append(StringHelper.COMMA_SPACE); String alias = (String) aliasIter.next(); if (alias!=null) buf.append(alias).append(StringHelper.DOT); String columnAlias = (String) columnAliasIter.next(); buf.append(col) .append(" as ") .append( StringHelper.suffix( columnAlias, suffix) ); } return buf.toString(); } } --- NEW FILE: SimpleSelect.java --- //$Id: SimpleSelect.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.sf.hibernate.util.StringHelper; /** * An SQL <tt>SELECT</tt> statement */ public class SimpleSelect { private String tableName; private String orderBy; private List columns = new ArrayList(); private List whereTokens = new ArrayList(); public SimpleSelect addColumns(String[] columnNames) { for ( int i=0; i<columnNames.length; i++ ) { addColumn( columnNames[i] ); } return this; } public SimpleSelect addColumn(String columnName) { columns.add(columnName); return this; } public SimpleSelect setTableName(String tableName) { this.tableName = tableName; return this; } public SimpleSelect addWhereToken(String token) { whereTokens.add(token); return this; } public SimpleSelect addCondition(String lhs, String op, String rhs) { whereTokens.add( lhs + ' ' + op + ' ' + rhs ); return this; } public SimpleSelect addCondition(String lhs, String condition) { whereTokens.add( lhs + ' ' + condition ); return this; } public SimpleSelect addCondition(String[] lhs, String op, String[] rhs) { for ( int i=0; i<lhs.length; i++ ) { addCondition( lhs[i], op, rhs[i] ); if ( i!=lhs.length-1) whereTokens.add("and"); } return this; } public SimpleSelect addCondition(String[] lhs, String condition) { for ( int i=0; i<lhs.length; i++ ) { addCondition( lhs[i], condition ); if ( i!=lhs.length-1) whereTokens.add("and"); } return this; } public String toStatementString() { StringBuffer buf = new StringBuffer( columns.size()*10 + tableName.length() + whereTokens.size() * 10 + 10 ); buf.append("select "); Iterator iter = columns.iterator(); while ( iter.hasNext() ) { buf.append( iter.next() ); if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(" from ") .append(tableName); if ( whereTokens.size() > 0 ) { buf.append(" where ") .append( toWhereClause() ); } if (orderBy!=null) buf.append(orderBy); return buf.toString(); } public String toWhereClause() { StringBuffer buf = new StringBuffer( whereTokens.size() * 5 ); Iterator iter = whereTokens.iterator(); while ( iter.hasNext() ) { buf.append( iter.next() ); if ( iter.hasNext() ) buf.append(' '); } return buf.toString(); } public void setOrderBy(String orderBy) { this.orderBy = orderBy; } } --- NEW FILE: Update.java --- //$Id: Update.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.sql; import java.util.Iterator; import java.util.Map; import net.sf.hibernate.type.LiteralType; import net.sf.hibernate.util.StringHelper; import org.apache.commons.collections.SequencedHashMap; /** * An SQL <tt>UPDATE</tt> statement */ public class Update { private String tableName; private String primaryKeyColumnNames[]; private String versionColumnName; private Map columns = new SequencedHashMap(); public Update addColumns(String[] columnNames) { for ( int i=0; i<columnNames.length; i++ ) { addColumn( columnNames[i] ); } return this; } public Update addColumns(String[] columnNames, String value) { for ( int i=0; i<columnNames.length; i++ ) { addColumn( columnNames[i], value ); } return this; } public Update addColumn(String columnName) { return addColumn(columnName, "?"); } public Update addColumn(String columnName, String value) { columns.put(columnName, value); return this; } public Update addColumn(String columnName, Object value, LiteralType type) throws Exception { return addColumn( columnName, type.objectToSQLString(value) ); } public Update setTableName(String tableName) { this.tableName = tableName; return this; } public String toStatementString() { StringBuffer buf = new StringBuffer( columns.size()*15 + tableName.length() + 10 ); buf.append("update ") .append(tableName) .append(" set "); Iterator iter = columns.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry e = (Map.Entry) iter.next(); buf.append( e.getKey() ) .append('=') .append( e.getValue() ); if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } buf.append(" where ") .append( StringHelper.join("=? and ", primaryKeyColumnNames) ) .append("=?"); if (versionColumnName!=null) { buf.append(" and ") .append(versionColumnName) .append("=?"); } return buf.toString(); } public Update setPrimaryKeyColumnNames(String[] primaryKeyColumnNames) { this.primaryKeyColumnNames = primaryKeyColumnNames; return this; } public Update setVersionColumnName(String versionColumnName) { this.versionColumnName = versionColumnName; return this; } } |
From: <one...@us...> - 2003-01-20 18:45:31
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv9798/sf/hibernate/persister Added Files: NormalizedEntityPersister.java Log Message: refactorings to create SQL generation layer --- NEW FILE: NormalizedEntityPersister.java --- //$Id: NormalizedEntityPersister.java,v 1.1 2003/01/20 18:45:18 oneovthafew Exp $ package net.sf.hibernate.persister; import net.sf.hibernate.util.ArrayHelper; import net.sf.hibernate.util.JDBCExceptionReporter; import net.sf.hibernate.util.StringHelper; import net.sf.hibernate.loader.EntityLoader; import net.sf.hibernate.loader.UniqueEntityLoader; import net.sf.hibernate.mapping.Column; import net.sf.hibernate.mapping.Component; import net.sf.hibernate.mapping.PersistentClass; import net.sf.hibernate.mapping.Property; import net.sf.hibernate.mapping.Subclass; import net.sf.hibernate.mapping.Table; import java.io.InvalidObjectException; import java.io.ObjectStreamException; import java.io.Serializable; import java.sql.PreparedStatement; [...1004 lines suppressed...] return alias + ( (tab==0) ? StringHelper.EMPTY_STRING : StringHelper.UNDERSCORE +Integer.toString(tab) ); } public String fromJoinFragment(String alias, boolean innerJoin) { return outerjoin(alias, innerJoin, true).toFromFragmentString(); } public String whereJoinFragment(String alias, boolean innerJoin) { return outerjoin(alias, innerJoin, true).toWhereFragmentString(); } } |
From: <one...@us...> - 2003-01-20 18:45:30
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv9798/sf/hibernate/loader Removed Files: AnsiOuterJoinGenerator.java OracleOuterJoinGenerator.java OuterJoinGenerator.java Log Message: refactorings to create SQL generation layer --- AnsiOuterJoinGenerator.java DELETED --- --- OracleOuterJoinGenerator.java DELETED --- --- OuterJoinGenerator.java DELETED --- |
From: <one...@us...> - 2003-01-20 18:45:27
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv9798/sf/hibernate/test Modified Files: Baz.hbm.xml Baz.java FooBarTest.java Log Message: refactorings to create SQL generation layer Index: Baz.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Baz.hbm.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Baz.hbm.xml 9 Jan 2003 12:24:51 -0000 1.4 --- Baz.hbm.xml 20 Jan 2003 18:45:18 -0000 1.5 *************** *** 113,116 **** --- 113,122 ---- </array> + <list name="fees" lazy="true" cascade="all"> + <key column="bazid"/> + <index column="bazind"/> + <one-to-many class="net.sf.hibernate.test.Fee"/> + </list> + <list name="customs"> <key column="id_"/> Index: Baz.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Baz.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Baz.java 5 Jan 2003 02:11:23 -0000 1.3 --- Baz.java 20 Jan 2003 18:45:18 -0000 1.4 *************** *** 27,30 **** --- 27,31 ---- private Map fooComponentToFoo; private Map glarchToFoo; + private List fees; Baz() {} *************** *** 228,231 **** --- 229,240 ---- } + public List getFees() { + return fees; + } + + public void setFees(List fees) { + this.fees = fees; + } + } Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/FooBarTest.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** FooBarTest.java 20 Jan 2003 12:48:14 -0000 1.12 --- FooBarTest.java 20 Jan 2003 18:45:18 -0000 1.13 *************** *** 161,164 **** --- 161,186 ---- } + public void testCascadeSave() throws Exception { + Session s = sessions.openSession(); + Transaction t = s.beginTransaction(); + Baz baz = new Baz(); + List list = new ArrayList(); + list.add( new Fee() ); + list.add( new Fee() ); [...4046 lines suppressed...] ! "Many.hbm.xml", ! "Immutable.hbm.xml", ! "Fee.hbm.xml", ! "Vetoer.hbm.xml", ! "Holder.hbm.xml", ! "Location.hbm.xml", ! "Stuff.hbm.xml", ! "Container.hbm.xml", ! "Simple.hbm.xml" ! } ); ! return new TestSuite(FooBarTest.class); ! } ! catch (Exception e) { ! e.printStackTrace(); ! throw e; ! } } ! } |
From: <one...@us...> - 2003-01-20 18:40:08
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv7463/sf/hibernate/sql Log Message: Directory /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql added to the repository |
From: <one...@us...> - 2003-01-20 12:56:39
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type In directory sc8-pr-cvs1:/tmp/cvs-serv2323/sf/hibernate/type Modified Files: LocaleType.java Log Message: major refactoring to create SQL Generation layer more efficient queries against normalized mappings Index: LocaleType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/type/LocaleType.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LocaleType.java 19 Jan 2003 11:47:08 -0000 1.4 --- LocaleType.java 20 Jan 2003 12:48:17 -0000 1.5 *************** *** 12,15 **** --- 12,16 ---- import net.sf.hibernate.Hibernate; import net.sf.hibernate.HibernateException; + import net.sf.hibernate.util.StringHelper; public class LocaleType extends ImmutableType implements LiteralType { *************** *** 22,28 **** else { StringTokenizer tokens = new StringTokenizer(str, "_"); ! String language = tokens.hasMoreTokens() ? tokens.nextToken() : ""; ! String country = tokens.hasMoreTokens() ? tokens.nextToken() : ""; ! String variant = tokens.hasMoreTokens() ? tokens.nextToken() : ""; return new Locale(language, country, variant); } --- 23,29 ---- else { StringTokenizer tokens = new StringTokenizer(str, "_"); ! String language = tokens.hasMoreTokens() ? tokens.nextToken() : StringHelper.EMPTY_STRING; ! String country = tokens.hasMoreTokens() ? tokens.nextToken() : StringHelper.EMPTY_STRING; ! String variant = tokens.hasMoreTokens() ? tokens.nextToken() : StringHelper.EMPTY_STRING; return new Locale(language, country, variant); } |