You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Grim Shieldsson <gr...@yahoo.com> on 2003/08/07 01:52:20 UTC

1-n Not updating N, forehead is now flat and walls are gone :)

P6spy indicates that no update is being done the collection. 
Everything appears to be setup according to the tutorials, and to
advice I've already gotten here, but something is still funky.  
I've tried this using Vector, DList and RemovalAware in the object, but
all result in the same problem.

THis is from the class file for the Member. 
/**Roles the member has.
	 * 
	 * new
org.apache.ojb.broker.util.collections.RemovalAwareCollection();// =
	 * new org.apache.ojb.odmg.collections.DListImpl();
	 * new java.util.Vector();
	 */
	private Collection roles =  new
org.apache.ojb.odmg.collections.DListImpl();
Here's the ODMG code:
cat.debug( "Updated member " + updatedMember);	
TransactionImpl tx = null;
// 3. open transaction
tx = (TransactionImpl) odmg.newTransaction();	
try
{
        tx.begin();
	PersistenceBroker pb = tx.getBroker();
	pb.removeFromCache( updatedMember);		
	Member staleMember = findByOID( updatedMember.getOid());		
	cat.debug( "staleMember   " + staleMember);			
	// 4. acquire write lock on new object
	tx.lock(staleMember, Transaction.WRITE);
	staleMember.getRoles().clear();
	BeanUtils.copyProperties(staleMember, updatedMember);
	cat.debug( "after modification " + staleMember);		
	// 5. commit transaction
	tx.commit();
}catch( Throwable t)
{
	cat.error( "Error trying to update member " + updatedMember);
	throw new MembershipDAOSysException( "Error trying to update member "
+ updatedMember, t);
}

Here's the mapping:
 	<class-descriptor
		class="virtual_village.membership.Member"
		table="Members">
		<field-descriptor
			name="oid"
			column="UOID"
			jdbc-type="INTEGER"
			primarykey="true"
			autoincrement="true"
		/>
		<field-descriptor
			name="firstName"
			column="firstName"
			jdbc-type="VARCHAR"
		/>
		<field-descriptor
			name="lastName"
			column="lastName"
			jdbc-type="VARCHAR"
		/>
		<field-descriptor
			name="username"
			column="username"
			jdbc-type="VARCHAR"
		/>
   		<field-descriptor
      		name="password"
		    column="password"
		    jdbc-type="VARCHAR"
		/>
	    <field-descriptor
      		name="emailAddress"
      		column="emailAddress"
      		jdbc-type="VARCHAR"
    	/>
		<collection-descriptor
         	name="roles"
         	element-class-ref="virtual_village.membership.Role"
			collection-class="org.apache.ojb.odmg.collections.DListImpl"
      	>
        	<inverse-foreignkey field-ref="memberOID"/>
		</collection-descriptor>
	</class-descriptor>

  
  
  
  
	<class-descriptor  class="virtual_village.membership.Role" 
table="Roles">
 		<field-descriptor
			name="oid"
			column="UOID"
			jdbc-type="INTEGER"
			primarykey="true"
			autoincrement="true"
		/>
		<field-descriptor
			name="memberOID"
			column="memberOID"
			jdbc-type="INTEGER"
		/>
		<field-descriptor
			name="name"
			column="name"
			jdbc-type="VARCHAR"
		/>
	</class-descriptor>

The relevant logs from p6spy:

1060213196818|-1||resultset|SELECT
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
newMember1060213196667@somewhere.com, firstName = first name
1060213196667, lastName = Last name 1060213196667, password = password
1060213196667, username = username 1060213196667
1060213196827|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = '233' 
1060213196830|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = '234' 
1060213196831|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = '235' 
1060213196833|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = '236' 
1060213196838|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID FROM
OJB_DLIST_ENTRIES WHERE ID = '237' 
1060213197104|2|0|statement|UPDATE Members SET
firstName=?,lastName=?,username=?,password=?,emailAddress=? WHERE UOID
= ? |UPDATE Members SET firstName='first name
1060213196667',lastName='Last name 1060213196667',username='username
1060213196667',password='password
1060213196667',emailAddress='newMember1060213196667@somewhere.com'
WHERE UOID = '362' 
1060213197139|33|0|commit||
1060213197156|1|0|statement|SELECT
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
FROM Members A0 WHERE A0.UOID =  ? |SELECT
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
FROM Members A0 WHERE A0.UOID =  '362' 
1060213197160|-1||resultset|SELECT
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
newMember1060213196667@somewhere.com, firstName = first name
1060213196667, lastName = Last name 1060213196667, password = password
1060213196667, username = username 1060213196667
1060213197160|0|0|commit||


=====
Grim Shieldsson (James A Barrows)
Acting Chieftain of Clan StormWolf
Barbarian Freehold Alliance
 "The real destroyer of the liberties of the people is he who spreads among them bounties, donations and benefits." 
--Plutarch

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: 1-n Not updating N, forehead is now flat and walls are gone :)

Posted by Grim Shieldsson <gr...@yahoo.com>.
Okay, narrowed it down even farther.  Adding roles to the collection
doesn't work.  It updates the member object, but not the roles.
No update for the roles tables in p6spy, no inserts no thing for roles.

jdk 1.4.1
OJB RC4
Postgres

--- Grim Shieldsson <gr...@yahoo.com> wrote:
> I've narrowed it down.  Basically, I'm updating the role vector
> somewhere else, and then trying to update the member object with the
> modified vector.
> I have the following code now:
> tx.lock(staleMember, Transaction.WRITE);
> 
> //So why not use staleMember.getRoles().clear() ?  Because it doesn't
> 
> //generate any delete statements, and this does
> 
> for (Iterator iter = staleMember.getRoles().iterator();
> iter.hasNext();) {
> 	Object element = iter.next();
> 	iter.remove();
> }
> 
> //So why not use staleMember.getRoles().addAll( )?  Because it
> doesn't
> // generate any insert statements.  Then again this doesn't either!
> 
> for (Iterator iter = updatedMember.getRoles().iterator();
> iter.hasNext();) {
> 	Object element = (Object) iter.next();
> 	staleMember.getRoles().add( element);
> }
> cat.debug( "after modification " + staleMember);
> // 5. commit transaction
> tx.commit();
> 
> And the deletes work, but no inserts are generated!!!.
> 
> --- Grim Shieldsson <gr...@yahoo.com> wrote:
> > P6spy indicates that no update is being done the collection. 
> > Everything appears to be setup according to the tutorials, and to
> > advice I've already gotten here, but something is still funky.  
> > I've tried this using Vector, DList and RemovalAware in the object,
> > but
> > all result in the same problem.
> > 
> > THis is from the class file for the Member. 
> > /**Roles the member has.
> > 	 * 
> > 	 * new
> > org.apache.ojb.broker.util.collections.RemovalAwareCollection();//
> =
> > 	 * new org.apache.ojb.odmg.collections.DListImpl();
> > 	 * new java.util.Vector();
> > 	 */
> > 	private Collection roles =  new
> > org.apache.ojb.odmg.collections.DListImpl();
> > Here's the ODMG code:
> > cat.debug( "Updated member " + updatedMember);	
> > TransactionImpl tx = null;
> > // 3. open transaction
> > tx = (TransactionImpl) odmg.newTransaction();	
> > try
> > {
> >         tx.begin();
> > 	PersistenceBroker pb = tx.getBroker();
> > 	pb.removeFromCache( updatedMember);		
> > 	Member staleMember = findByOID( updatedMember.getOid());		
> > 	cat.debug( "staleMember   " + staleMember);			
> > 	// 4. acquire write lock on new object
> > 	tx.lock(staleMember, Transaction.WRITE);
> > 	staleMember.getRoles().clear();
> > 	BeanUtils.copyProperties(staleMember, updatedMember);
> > 	cat.debug( "after modification " + staleMember);		
> > 	// 5. commit transaction
> > 	tx.commit();
> > }catch( Throwable t)
> > {
> > 	cat.error( "Error trying to update member " + updatedMember);
> > 	throw new MembershipDAOSysException( "Error trying to update
> member
> > "
> > + updatedMember, t);
> > }
> > 
> > Here's the mapping:
> >  	<class-descriptor
> > 		class="virtual_village.membership.Member"
> > 		table="Members">
> > 		<field-descriptor
> > 			name="oid"
> > 			column="UOID"
> > 			jdbc-type="INTEGER"
> > 			primarykey="true"
> > 			autoincrement="true"
> > 		/>
> > 		<field-descriptor
> > 			name="firstName"
> > 			column="firstName"
> > 			jdbc-type="VARCHAR"
> > 		/>
> > 		<field-descriptor
> > 			name="lastName"
> > 			column="lastName"
> > 			jdbc-type="VARCHAR"
> > 		/>
> > 		<field-descriptor
> > 			name="username"
> > 			column="username"
> > 			jdbc-type="VARCHAR"
> > 		/>
> >    		<field-descriptor
> >       		name="password"
> > 		    column="password"
> > 		    jdbc-type="VARCHAR"
> > 		/>
> > 	    <field-descriptor
> >       		name="emailAddress"
> >       		column="emailAddress"
> >       		jdbc-type="VARCHAR"
> >     	/>
> > 		<collection-descriptor
> >          	name="roles"
> >          	element-class-ref="virtual_village.membership.Role"
> > 			collection-class="org.apache.ojb.odmg.collections.DListImpl"
> >       	>
> >         	<inverse-foreignkey field-ref="memberOID"/>
> > 		</collection-descriptor>
> > 	</class-descriptor>
> > 
> >   
> >   
> >   
> >   
> > 	<class-descriptor  class="virtual_village.membership.Role" 
> > table="Roles">
> >  		<field-descriptor
> > 			name="oid"
> > 			column="UOID"
> > 			jdbc-type="INTEGER"
> > 			primarykey="true"
> > 			autoincrement="true"
> > 		/>
> > 		<field-descriptor
> > 			name="memberOID"
> > 			column="memberOID"
> > 			jdbc-type="INTEGER"
> > 		/>
> > 		<field-descriptor
> > 			name="name"
> > 			column="name"
> > 			jdbc-type="VARCHAR"
> > 		/>
> > 	</class-descriptor>
> > 
> > The relevant logs from p6spy:
> > 
> > 1060213196818|-1||resultset|SELECT
> >
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> > FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
> > newMember1060213196667@somewhere.com, firstName = first name
> > 1060213196667, lastName = Last name 1060213196667, password =
> > password
> > 1060213196667, username = username 1060213196667
> > 1060213196827|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> > OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> > FROM
> > OJB_DLIST_ENTRIES WHERE ID = '233' 
> > 1060213196830|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> > OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> > FROM
> > OJB_DLIST_ENTRIES WHERE ID = '234' 
> > 1060213196831|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> > OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> > FROM
> > OJB_DLIST_ENTRIES WHERE ID = '235' 
> > 1060213196833|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> > OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> > FROM
> > OJB_DLIST_ENTRIES WHERE ID = '236' 
> > 1060213196838|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> > OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> > FROM
> > OJB_DLIST_ENTRIES WHERE ID = '237' 
> > 1060213197104|2|0|statement|UPDATE Members SET
> > firstName=?,lastName=?,username=?,password=?,emailAddress=? WHERE
> > UOID
> > = ? |UPDATE Members SET firstName='first name
> > 1060213196667',lastName='Last name
> 1060213196667',username='username
> > 1060213196667',password='password
> > 1060213196667',emailAddress='newMember1060213196667@somewhere.com'
> > WHERE UOID = '362' 
> > 1060213197139|33|0|commit||
> > 1060213197156|1|0|statement|SELECT
> >
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> > FROM Members A0 WHERE A0.UOID =  ? |SELECT
> >
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> > FROM Members A0 WHERE A0.UOID =  '362' 
> > 1060213197160|-1||resultset|SELECT
> >
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> > FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
> > newMember1060213196667@somewhere.com, firstName = first name
> > 1060213196667, lastName = Last name 1060213196667, password =
> 
=== message truncated ===


=====
Grim Shieldsson (James A Barrows)
Acting Chieftain of Clan StormWolf
Barbarian Freehold Alliance
 "The real destroyer of the liberties of the people is he who spreads among them bounties, donations and benefits." 
--Plutarch

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: 1-n Not updating N, forehead is now flat and walls are gone :)

Posted by Grim Shieldsson <gr...@yahoo.com>.
I've narrowed it down.  Basically, I'm updating the role vector
somewhere else, and then trying to update the member object with the
modified vector.
I have the following code now:
tx.lock(staleMember, Transaction.WRITE);

//So why not use staleMember.getRoles().clear() ?  Because it doesn't 
//generate any delete statements, and this does

for (Iterator iter = staleMember.getRoles().iterator();
iter.hasNext();) {
	Object element = iter.next();
	iter.remove();
}

//So why not use staleMember.getRoles().addAll( )?  Because it doesn't
// generate any insert statements.  Then again this doesn't either!

for (Iterator iter = updatedMember.getRoles().iterator();
iter.hasNext();) {
	Object element = (Object) iter.next();
	staleMember.getRoles().add( element);
}
cat.debug( "after modification " + staleMember);
// 5. commit transaction
tx.commit();

And the deletes work, but no inserts are generated!!!.

--- Grim Shieldsson <gr...@yahoo.com> wrote:
> P6spy indicates that no update is being done the collection. 
> Everything appears to be setup according to the tutorials, and to
> advice I've already gotten here, but something is still funky.  
> I've tried this using Vector, DList and RemovalAware in the object,
> but
> all result in the same problem.
> 
> THis is from the class file for the Member. 
> /**Roles the member has.
> 	 * 
> 	 * new
> org.apache.ojb.broker.util.collections.RemovalAwareCollection();// =
> 	 * new org.apache.ojb.odmg.collections.DListImpl();
> 	 * new java.util.Vector();
> 	 */
> 	private Collection roles =  new
> org.apache.ojb.odmg.collections.DListImpl();
> Here's the ODMG code:
> cat.debug( "Updated member " + updatedMember);	
> TransactionImpl tx = null;
> // 3. open transaction
> tx = (TransactionImpl) odmg.newTransaction();	
> try
> {
>         tx.begin();
> 	PersistenceBroker pb = tx.getBroker();
> 	pb.removeFromCache( updatedMember);		
> 	Member staleMember = findByOID( updatedMember.getOid());		
> 	cat.debug( "staleMember   " + staleMember);			
> 	// 4. acquire write lock on new object
> 	tx.lock(staleMember, Transaction.WRITE);
> 	staleMember.getRoles().clear();
> 	BeanUtils.copyProperties(staleMember, updatedMember);
> 	cat.debug( "after modification " + staleMember);		
> 	// 5. commit transaction
> 	tx.commit();
> }catch( Throwable t)
> {
> 	cat.error( "Error trying to update member " + updatedMember);
> 	throw new MembershipDAOSysException( "Error trying to update member
> "
> + updatedMember, t);
> }
> 
> Here's the mapping:
>  	<class-descriptor
> 		class="virtual_village.membership.Member"
> 		table="Members">
> 		<field-descriptor
> 			name="oid"
> 			column="UOID"
> 			jdbc-type="INTEGER"
> 			primarykey="true"
> 			autoincrement="true"
> 		/>
> 		<field-descriptor
> 			name="firstName"
> 			column="firstName"
> 			jdbc-type="VARCHAR"
> 		/>
> 		<field-descriptor
> 			name="lastName"
> 			column="lastName"
> 			jdbc-type="VARCHAR"
> 		/>
> 		<field-descriptor
> 			name="username"
> 			column="username"
> 			jdbc-type="VARCHAR"
> 		/>
>    		<field-descriptor
>       		name="password"
> 		    column="password"
> 		    jdbc-type="VARCHAR"
> 		/>
> 	    <field-descriptor
>       		name="emailAddress"
>       		column="emailAddress"
>       		jdbc-type="VARCHAR"
>     	/>
> 		<collection-descriptor
>          	name="roles"
>          	element-class-ref="virtual_village.membership.Role"
> 			collection-class="org.apache.ojb.odmg.collections.DListImpl"
>       	>
>         	<inverse-foreignkey field-ref="memberOID"/>
> 		</collection-descriptor>
> 	</class-descriptor>
> 
>   
>   
>   
>   
> 	<class-descriptor  class="virtual_village.membership.Role" 
> table="Roles">
>  		<field-descriptor
> 			name="oid"
> 			column="UOID"
> 			jdbc-type="INTEGER"
> 			primarykey="true"
> 			autoincrement="true"
> 		/>
> 		<field-descriptor
> 			name="memberOID"
> 			column="memberOID"
> 			jdbc-type="INTEGER"
> 		/>
> 		<field-descriptor
> 			name="name"
> 			column="name"
> 			jdbc-type="VARCHAR"
> 		/>
> 	</class-descriptor>
> 
> The relevant logs from p6spy:
> 
> 1060213196818|-1||resultset|SELECT
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
> newMember1060213196667@somewhere.com, firstName = first name
> 1060213196667, lastName = Last name 1060213196667, password =
> password
> 1060213196667, username = username 1060213196667
> 1060213196827|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> FROM
> OJB_DLIST_ENTRIES WHERE ID = '233' 
> 1060213196830|2|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> FROM
> OJB_DLIST_ENTRIES WHERE ID = '234' 
> 1060213196831|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> FROM
> OJB_DLIST_ENTRIES WHERE ID = '235' 
> 1060213196833|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> FROM
> OJB_DLIST_ENTRIES WHERE ID = '236' 
> 1060213196838|1|0|statement|SELECT DLIST_ID,OID_,POSITION_,ID FROM
> OJB_DLIST_ENTRIES WHERE ID = ? |SELECT DLIST_ID,OID_,POSITION_,ID
> FROM
> OJB_DLIST_ENTRIES WHERE ID = '237' 
> 1060213197104|2|0|statement|UPDATE Members SET
> firstName=?,lastName=?,username=?,password=?,emailAddress=? WHERE
> UOID
> = ? |UPDATE Members SET firstName='first name
> 1060213196667',lastName='Last name 1060213196667',username='username
> 1060213196667',password='password
> 1060213196667',emailAddress='newMember1060213196667@somewhere.com'
> WHERE UOID = '362' 
> 1060213197139|33|0|commit||
> 1060213197156|1|0|statement|SELECT
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> FROM Members A0 WHERE A0.UOID =  ? |SELECT
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> FROM Members A0 WHERE A0.UOID =  '362' 
> 1060213197160|-1||resultset|SELECT
>
A0.password,A0.emailAddress,A0.username,A0.UOID,A0.firstName,A0.lastName
> FROM Members A0 WHERE A0.UOID =  '362' |UOID = 362, emailAddress =
> newMember1060213196667@somewhere.com, firstName = first name
> 1060213196667, lastName = Last name 1060213196667, password =
> password
> 1060213196667, username = username 1060213196667
> 1060213197160|0|0|commit||
> 
> 
> =====
> Grim Shieldsson (James A Barrows)
> Acting Chieftain of Clan StormWolf
> Barbarian Freehold Alliance
>  "The real destroyer of the liberties of the people is he who spreads
> among them bounties, donations and benefits." 
> --Plutarch
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 


=====
Grim Shieldsson (James A Barrows)
Acting Chieftain of Clan StormWolf
Barbarian Freehold Alliance
 "The real destroyer of the liberties of the people is he who spreads among them bounties, donations and benefits." 
--Plutarch

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org