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 Hiu Yen Onn <yo...@shinyang.com.my> on 2003/10/16 07:50:07 UTC
non-decomposed m:n mappings problem......
hi,
currently, i am building a m:n non-decomposing mappings. User, Role and
Users_Roles (intermediary table), the repository.xml is as such,
<class-descriptor
class="my.com.shinyang.eply.model.User"
table="USERS">
<field-descriptor
name="label"
column="LABEL"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor
name="password"
column="PASSWORD"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="fullName"
column="FULLNAME"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="designation"
column="DESIGNATION"
jdbc-type="VARCHAR"
/>
<collection-descriptor
name="roleList"
element-class-ref="my.com.shinyang.eply.model.Role"
auto-retrieve="true"
auto-update="false"
auto-delete="false"
indirection-table="USERS_ROLES">
<fk-pointing-to-this-class column="USERS_LABEL"/>
<fk-pointing-to-element-class column="ROLES_LABEL"/>
</collection-descriptor>
</class-descriptor>
<class-descriptor
class="my.com.shinyang.eply.model.Role"
table="ROLES">
<field-descriptor
name="label"
column="LABEL"
jdbc-type="VARCHAR"
primarykey="true"
/>
<field-descriptor
name="roleName"
column="ROLE_NAME"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="allowCreate"
column="ALLOWCREATE"
jdbc-type="INTEGER"
/>
<field-descriptor
name="allowSearch"
column="ALLOWSEARCH"
jdbc-type="INTEGER"
/>
<field-descriptor
name="allowEdit"
column="ALLOWEDIT"
jdbc-type="INTEGER"
/>
<field-descriptor
name="allowDelete"
column="ALLOWDELETE"
jdbc-type="INTEGER"
/>
<collection-descriptor
name="userList"
element-class-ref="my.com.shinyang.eply.model.User"
auto-retrieve="true"
auto-update="false"
auto-delete="false"
indirection-table="USERS_ROLES">
<fk-pointing-to-this-class column="ROLES_LABEL"/>
<fk-pointing-to-element-class column="USERS_LABEL"/>
</collection-descriptor>
</class-descriptor>
and i have done a junit to test the tables.
this is the log of the test.
2003-10-16 13:25:54,855 ERROR [STDERR] Query "SELECT
A0.LABEL,A0.PASSWORD,A0.FULLNAME,A0.DESIGNATION FROM USERS A0 WHERE A0.LABEL
= 'yenonn' " execution time: 0 result set fetch time: 0
2003-10-16 13:25:54,902 ERROR [STDERR] Query "SELECT
LABEL,PASSWORD,FULLNAME,DESIGNATION FROM USERS WHERE LABEL = 'yenonn' "
execution time: 0 result set fetch time: 0
2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM ROLES
WHERE LABEL = 'role0' " execution time: 0 result set fetch time: 0
2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM ROLES
WHERE LABEL = 'role1' " execution time: 0 result set fetch time: 0
2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM ROLES
WHERE LABEL = 'role2' " execution time: 0 result set fetch time: 0
2003-10-16 13:25:54,933 ERROR [STDERR] Query "INSERT INTO USERS
(LABEL,PASSWORD,FULLNAME,DESIGNATION) VALUES ('yenonn','yenonn','Hiu Yen
Onn','programmer') " execution time: 0
2003-10-16 13:25:55,043 ERROR [STDERR] Query "SELECT ROLES_LABEL FROM
USERS_ROLES WHERE USERS_LABEL='yenonn'" execution time: 0 result set fetch
time: 0
2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
(USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role0')" execution time: 0
2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
(USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role1')" execution time: 0
2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
(USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role2')" execution time: 0
2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
(LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
('role0','syl-admin',1,1,1,1) " execution time: 15
2003-10-16 13:25:55,058 ERROR [STDERR] Query "DELETE FROM USERS_ROLES WHERE
ROLES_LABEL='role0'" execution time: 0
2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
(LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
('role1','syl-admin',1,1,1,1) " execution time: 0
2003-10-16 13:25:55,058 ERROR [STDERR] Query "DELETE FROM USERS_ROLES WHERE
ROLES_LABEL='role1'" execution time: 0
2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
(LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
('role2','syl-admin',1,1,1,1) " execution time: 0
2003-10-16 13:25:55,074 ERROR [STDERR] Query "DELETE FROM USERS_ROLES WHERE
ROLES_LABEL='role2'" execution time: 16
2003-10-16 13:25:55,074 ERROR [STDERR] Query "commit" execution time: 0
2003-10-16 13:25:55,074 ERROR [STDERR] Query "SET autocommit=1" execution
time: 0
2003-10-16 13:25:55,074 ERROR [STDERR] Query "SHOW VARIABLES LIKE
'tx_isolation'" execution time: 0 result set fetch time: 0
my problem is that, why does the deletion of Users_Roles is executed after
an insertion of
Roles done? how to get rid of not having a deletion of Users_Roles? what is
the setting that i should do? pls help....
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
RE: bug OJB?
Posted by Réda Benzair <re...@smartjog.com>.
Thank you Leandro
I will test your pach I would give the news ....
-----Original Message-----
From: Leandro Rodrigo Saad Cruz [mailto:leandro@ibnetwork.com.br]
Sent: jeudi 16 octobre 2003 20:46
To: OJB Users List
Subject: Re: bug OJB?
Hi. I had the same problem with deleteCollections. A defensive copy must
be done by OJB before returning the collection to the user in that case.
In your case I'm not sure what it is !
Here is the patch that solves my problem,Maybe you can try to fix your
problem based on this patch !
On Thu, 2003-10-16 at 14:07, Réda Benzair wrote:
> Hi All
>
> It seems OJB has a multi thread unsafe behaviour when handling M:N
> relations:
>
> java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextEntry(HashMap.java:762)
> at java.util.HashMap$KeyIterator.next(HashMap.java:798)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.deleteMtoNImplementor(P
> ersistenceBrokerImpl.java:970)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Persis
> tenceBrokerImpl.java:785)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:2007)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
> enceBrokerImpl.java:692)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:1954)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
> enceBrokerImpl.java:692)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:1954)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
> ersistenceBroker.java:160)
> at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
> ersistenceBroker.java:160)
>
> Replacing the use of an HashMap -unsynchro- with an Hashtable
> -synchronized- would solve the problem, wouldn't it?
>
> This is a trouble that happens on a production system and i'm looking
> foward to hear about your response!
>
> Thanks in advance!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
--
Leandro Rodrigo Saad Cruz
IT - Inter Business Tecnologia e Servicos (IB)
http://www.ibnetwork.com.br
http://db.apache.org/ojb
http://xingu.sourceforge.net
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: bug OJB?
Posted by Leandro Rodrigo Saad Cruz <le...@ibnetwork.com.br>.
Hi. I had the same problem with deleteCollections. A defensive copy must
be done by OJB before returning the collection to the user in that case.
In your case I'm not sure what it is !
Here is the patch that solves my problem,Maybe you can try to fix your
problem based on this patch !
On Thu, 2003-10-16 at 14:07, Réda Benzair wrote:
> Hi All
>
> It seems OJB has a multi thread unsafe behaviour when handling M:N
> relations:
>
> java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextEntry(HashMap.java:762)
> at java.util.HashMap$KeyIterator.next(HashMap.java:798)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.deleteMtoNImplementor(P
> ersistenceBrokerImpl.java:970)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Persis
> tenceBrokerImpl.java:785)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:2007)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
> enceBrokerImpl.java:692)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:1954)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
> enceBrokerImpl.java:692)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
> okerImpl.java:1954)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:1889)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
> Impl.java:665)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
> ersistenceBroker.java:160)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
> ersistenceBroker.java:160)
>
> Replacing the use of an HashMap -unsynchro- with an Hashtable
> -synchronized- would solve the problem, wouldn't it?
>
> This is a trouble that happens on a production system and i'm looking
> foward to hear about your response!
>
> Thanks in advance!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
--
Leandro Rodrigo Saad Cruz
IT - Inter Business Tecnologia e Servicos (IB)
http://www.ibnetwork.com.br
http://db.apache.org/ojb
http://xingu.sourceforge.net
bug OJB?
Posted by Réda Benzair <re...@smartjog.com>.
Hi All
It seems OJB has a multi thread unsafe behaviour when handling M:N
relations:
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:762)
at java.util.HashMap$KeyIterator.next(HashMap.java:798)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.deleteMtoNImplementor(P
ersistenceBrokerImpl.java:970)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Persis
tenceBrokerImpl.java:785)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:2007)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
enceBrokerImpl.java:692)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:1954)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
enceBrokerImpl.java:692)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:1954)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersistenceBroker.java:160)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersistenceBroker.java:160)
Replacing the use of an HashMap -unsynchro- with an Hashtable
-synchronized- would solve the problem, wouldn't it?
This is a trouble that happens on a production system and i'm looking
foward to hear about your response!
Thanks in advance!
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: non-decomposed m:n mappings problem......
Posted by Brian McCallister <mc...@forthillcompany.com>.
Could you post the unit test? It would help to debug this if we can see
what it is attempting to do.
Also, which API are you using?
-Brian
On Thursday, October 16, 2003, at 01:50 AM, Hiu Yen Onn wrote:
> hi,
>
> currently, i am building a m:n non-decomposing mappings. User, Role and
> Users_Roles (intermediary table), the repository.xml is as such,
>
> <class-descriptor
> class="my.com.shinyang.eply.model.User"
> table="USERS">
>
> <field-descriptor
> name="label"
> column="LABEL"
> jdbc-type="VARCHAR"
> primarykey="true"
> />
>
> <field-descriptor
> name="password"
> column="PASSWORD"
> jdbc-type="VARCHAR"
> />
>
> <field-descriptor
> name="fullName"
> column="FULLNAME"
> jdbc-type="VARCHAR"
> />
>
> <field-descriptor
> name="designation"
> column="DESIGNATION"
> jdbc-type="VARCHAR"
> />
>
> <collection-descriptor
> name="roleList"
> element-class-ref="my.com.shinyang.eply.model.Role"
> auto-retrieve="true"
> auto-update="false"
> auto-delete="false"
> indirection-table="USERS_ROLES">
> <fk-pointing-to-this-class column="USERS_LABEL"/>
> <fk-pointing-to-element-class column="ROLES_LABEL"/>
> </collection-descriptor>
> </class-descriptor>
>
> <class-descriptor
> class="my.com.shinyang.eply.model.Role"
> table="ROLES">
>
> <field-descriptor
> name="label"
> column="LABEL"
> jdbc-type="VARCHAR"
> primarykey="true"
> />
> <field-descriptor
> name="roleName"
> column="ROLE_NAME"
> jdbc-type="VARCHAR"
> />
> <field-descriptor
> name="allowCreate"
> column="ALLOWCREATE"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="allowSearch"
> column="ALLOWSEARCH"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="allowEdit"
> column="ALLOWEDIT"
> jdbc-type="INTEGER"
> />
> <field-descriptor
> name="allowDelete"
> column="ALLOWDELETE"
> jdbc-type="INTEGER"
> />
>
> <collection-descriptor
> name="userList"
> element-class-ref="my.com.shinyang.eply.model.User"
> auto-retrieve="true"
> auto-update="false"
> auto-delete="false"
> indirection-table="USERS_ROLES">
> <fk-pointing-to-this-class column="ROLES_LABEL"/>
> <fk-pointing-to-element-class column="USERS_LABEL"/>
> </collection-descriptor>
>
> </class-descriptor>
>
> and i have done a junit to test the tables.
> this is the log of the test.
>
> 2003-10-16 13:25:54,855 ERROR [STDERR] Query "SELECT
> A0.LABEL,A0.PASSWORD,A0.FULLNAME,A0.DESIGNATION FROM USERS A0 WHERE
> A0.LABEL
> = 'yenonn' " execution time: 0 result set fetch time: 0
> 2003-10-16 13:25:54,902 ERROR [STDERR] Query "SELECT
> LABEL,PASSWORD,FULLNAME,DESIGNATION FROM USERS WHERE LABEL = 'yenonn' "
> execution time: 0 result set fetch time: 0
> 2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
> ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM
> ROLES
> WHERE LABEL = 'role0' " execution time: 0 result set fetch time: 0
> 2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
> ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM
> ROLES
> WHERE LABEL = 'role1' " execution time: 0 result set fetch time: 0
> 2003-10-16 13:25:54,918 ERROR [STDERR] Query "SELECT
> ROLE_NAME,ALLOWDELETE,LABEL,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT FROM
> ROLES
> WHERE LABEL = 'role2' " execution time: 0 result set fetch time: 0
> 2003-10-16 13:25:54,933 ERROR [STDERR] Query "INSERT INTO USERS
> (LABEL,PASSWORD,FULLNAME,DESIGNATION) VALUES ('yenonn','yenonn','Hiu
> Yen
> Onn','programmer') " execution time: 0
> 2003-10-16 13:25:55,043 ERROR [STDERR] Query "SELECT ROLES_LABEL FROM
> USERS_ROLES WHERE USERS_LABEL='yenonn'" execution time: 0 result set
> fetch
> time: 0
> 2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
> (USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role0')" execution time: 0
> 2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
> (USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role1')" execution time: 0
> 2003-10-16 13:25:55,043 ERROR [STDERR] Query "INSERT INTO USERS_ROLES
> (USERS_LABEL,ROLES_LABEL) VALUES ('yenonn','role2')" execution time: 0
> 2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
> (LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
> ('role0','syl-admin',1,1,1,1) " execution time: 15
> 2003-10-16 13:25:55,058 ERROR [STDERR] Query "DELETE FROM USERS_ROLES
> WHERE
> ROLES_LABEL='role0'" execution time: 0
> 2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
> (LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
> ('role1','syl-admin',1,1,1,1) " execution time: 0
> 2003-10-16 13:25:55,058 ERROR [STDERR] Query "DELETE FROM USERS_ROLES
> WHERE
> ROLES_LABEL='role1'" execution time: 0
> 2003-10-16 13:25:55,058 ERROR [STDERR] Query "INSERT INTO ROLES
> (LABEL,ROLE_NAME,ALLOWCREATE,ALLOWSEARCH,ALLOWEDIT,ALLOWDELETE) VALUES
> ('role2','syl-admin',1,1,1,1) " execution time: 0
> 2003-10-16 13:25:55,074 ERROR [STDERR] Query "DELETE FROM USERS_ROLES
> WHERE
> ROLES_LABEL='role2'" execution time: 16
> 2003-10-16 13:25:55,074 ERROR [STDERR] Query "commit" execution time: 0
> 2003-10-16 13:25:55,074 ERROR [STDERR] Query "SET
> autocommit=1" execution
> time: 0
> 2003-10-16 13:25:55,074 ERROR [STDERR] Query "SHOW VARIABLES LIKE
> 'tx_isolation'" execution time: 0 result set fetch time: 0
>
> my problem is that, why does the deletion of Users_Roles is executed
> after
> an insertion of
> Roles done? how to get rid of not having a deletion of Users_Roles?
> what is
> the setting that i should do? pls help....
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org