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 mananthakris <ma...@gmail.com> on 2007/01/02 20:54:55 UTC

Inheritence delete exception

Hi, 

We are using same table for different subclasses using a varchar column and
define  ojbConcreteClass  to find the actual class.

When we try to delete a object in a relationship , i see an error
"unregistered object for delete:" . I saw a previous forum question,
suggestion for the error and implemented writing locks for all objects in
transaction, but we still have the error.

In our case we have an object AssessmentGroup and an object Question in 1:n
relationship ( Question has different types of questions /subclasses in a
same table differentiated with classidentity column of the table).

This error occurs when we delete a MultipleChoice sublclass of Question and
remove its relationship with AssessmentGroup.

Detailed logs shows we are locking AssessmentGroup,MultipleChoice(subclass)
before delete, 

but the exception shows even when we are writing
db.deletePersistent(multiplechoiceobj) , it is trying to delete base class
internally. Do you think this is expected behaviour? Are we supposed to lock
base class inspite of knowing which exact class we are deleting?

The exception is

org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour, unregistered
object to delete:
com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
main object is
com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
envelope object is
org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]


We are using obj 1.0.4 odmg api with mysql db.Attached is the
repository_user.xml
http://www.nabble.com/file/5190/repository_user.xml repository_user.xml 
-- 
View this message in context: http://www.nabble.com/Inheritence-delete-exception-tf2909729.html#a8129600
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at Nabble.com.


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


Re: Inheritence delete exception

Posted by MA <ma...@gmail.com>.
I wrote a standalone simple application with ojb and jboss to replicate our
scenario and it passed .We have another layer of our own classes to abstract
access to ojb ,so looks like there is a problem in a way our configuration
should work with it.

With 1:n relationships we have an interface for each implementation and
changing the repository mapping in the extent-class seems to fix it

Interface IA
Class A implements IA
Interface IB extends IA
Class B extends Class A implements IB
Class C


Interface IA:Class C  - 1:n relationship

For the n side Class C we had relationship to 1 side Interface IA.
<class-descriptor class=C>
.....
....
<collection-descriptor ....
element-class-ref="IA">
</class>

changing the extent-class declaration for Interface IA to have
extent-class A
extent-class IB (we did not have this earlier)

seems to have fixed this because in our layer we seemed to be passing IB in
the 1 side relationship and locking it ,the error was IA was not registered.


arminw wrote:
> 
> Hi,
> 
> mananthakris wrote:
>> This is the pseudo code
>> 
>> Question - base class 
>> MultipleChoice question - Subclass of question
>> AssessmentGroup - 1: n with Question
>> (MultipleChoice  and other sub classes of Question are in the same table
>> identified by objconcreteclass)
>> 
>> 
>> code
>> Transaction tx - odmg.currentTransaction();
>> tx.lock (mutliplechoiceobj)
>> db.deletePersistent(multiplechoiceobj)
>> 
>> Detailed log shows that MutipleChoice is registered and locked, but the
>> exception says
>> 
> 
> This is a strange exception. I didn't find a bug in the source code. OJB 
> compares the Identity images of the referenced objects (1:n Question):
> If in the new image an Identity from the old image is not contained, the 
> object was deleted during tx. In this case OJB try to mark the object 
> for deletion.
> 
>  > tx.lock (mutliplechoiceobj)
> 
> Is "mutliplechoiceobj" a instance of AssessmentGroup? Is implicit 
> locking enabled? If not OJB will lock/register "mutliplechoiceobj" 
> without the referenced objects.
> 
> 
>> Unexpected behaviour, unregistered object to delete:
>> com.tk20.bo.evaluationinstrument.Question{100007f15c458c10ff4485144-7d2d},
>> main object is
>> com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},
>> envelope object is
>> org.apache.ojb.odmg.ObjectEnvelope@3da1e2[Identity=com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},ModificationState=org.apache.ojb.odmg.states.StateOldDelete]
>> 
>> 
>> Why does it try to see whether the base class is registered or not?
>> Should
>> it not identify the exact subclass it is
>>
> 
> OJB logs only the Identity and Identity.toString only print the 
> top-level class + PK's (will improve Identity.toString method for OJB 
> 1.0.5 to avoid confusion).
> 
> 
>> I modified the repository_user.xml for mappings for 
>> AssessmentGroup
>> <collection-descriptor
>>         name="questionsInternal"
>>        
>> collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
>>         element-class-ref="com.tk20.bo.evaluationinstrument.Question"
>>         auto-retrieve="true"
>>         auto-update="object"
>>         auto-delete="object">
>>        <inverse-foreignkey field-ref="assessmentGroupPk"/>
>>      </collection-descriptor>
>> 
>> Mappings for MutlipleChoice and Question  as
>>  <reference-descriptor
>>         name="assessmentGroup"
>>         class-ref="com.tk20.bo.template.AssessmentGroup"
>>         auto-retrieve="true"
>>         auto-update="none"
>>         auto-delete="object">
>>        <foreignkey field-ref="assessmentGroupPk"/>
>>      </reference-descriptor>
> 
> Which version of OJB do you use? It's not allowed to set attribute 
> "auto-update" different from "none", else you could get unexpected
> behavior.
> http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings
> 
> regards,
> Armin
> 
> 
> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> arminw wrote:
>>> Hi,
>>>
>>> mananthakris wrote:
>>>> I checked that our repository_user file does not contain auto_XXX for
>>>> an
>>>> reference-desc and collection-desc, are these mandatory and could be
>>>> cause
>>>> of problems?
>>>>
>>> It seems that OJB can't find the Question object in intern object 
>>> registry using it's Identity. OJB detect that the object no longer 
>>> exists in the 1:n reference and try to remove the Question object.
>>>
>>> To enable cascading delete it's mandatory to set auto-delete="object".
>>> http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings
>>>
>>> Could you please post the used source or pseudo code?
>>>
>>> regards,
>>> Armin
>>>
>>>> mananthakris wrote:
>>>>> Hi, 
>>>>>
>>>>> We are using same table for different subclasses using a varchar
>>>>> column
>>>>> and define  ojbConcreteClass  to find the actual class.
>>>>>
>>>>> When we try to delete a object in a relationship , i see an error
>>>>> "unregistered object for delete:" . I saw a previous forum question,
>>>>> suggestion for the error and implemented writing locks for all objects
>>>>> in
>>>>> transaction, but we still have the error.
>>>>>
>>>>> In our case we have an object AssessmentGroup and an object Question
>>>>> in
>>>>> 1:n relationship ( Question has different types of questions
>>>>> /subclasses
>>>>> in a same table differentiated with classidentity column of the
>>>>> table).
>>>>>
>>>>> This error occurs when we delete a MultipleChoice sublclass of
>>>>> Question
>>>>> and remove its relationship with AssessmentGroup.
>>>>>
>>>>> Detailed logs shows we are locking
>>>>> AssessmentGroup,MultipleChoice(subclass) before delete, 
>>>>>
>>>>> but the exception shows even when we are writing
>>>>> db.deletePersistent(multiplechoiceobj) , it is trying to delete base
>>>>> class
>>>>> internally. Do you think this is expected behaviour? Are we supposed
>>>>> to
>>>>> lock base class inspite of knowing which exact class we are deleting?
>>>>>
>>>>> The exception is
>>>>>
>>>>> org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour,
>>>>> unregistered object to delete:
>>>>> com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
>>>>> main object is
>>>>> com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
>>>>> envelope object is
>>>>> org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]
>>>>>
>>>>>
>>>>> We are using obj 1.0.4 odmg api with mysql db.Attached is the
>>>>> repository_user.xml
>>>>>  http://www.nabble.com/file/5190/repository_user.xml
>>>>> repository_user.xml 
>>>>>
>>> ---------------------------------------------------------------------
>>> 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
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Inheritence-delete-exception-tf2909729.html#a8289465
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at Nabble.com.


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


Re: Inheritence delete exception

Posted by Armin Waibel <ar...@apache.org>.
Hi,

mananthakris wrote:
> This is the pseudo code
> 
> Question - base class 
> MultipleChoice question - Subclass of question
> AssessmentGroup - 1: n with Question
> (MultipleChoice  and other sub classes of Question are in the same table
> identified by objconcreteclass)
> 
> 
> code
> Transaction tx - odmg.currentTransaction();
> tx.lock (mutliplechoiceobj)
> db.deletePersistent(multiplechoiceobj)
> 
> Detailed log shows that MutipleChoice is registered and locked, but the
> exception says
> 

This is a strange exception. I didn't find a bug in the source code. OJB 
compares the Identity images of the referenced objects (1:n Question):
If in the new image an Identity from the old image is not contained, the 
object was deleted during tx. In this case OJB try to mark the object 
for deletion.

 > tx.lock (mutliplechoiceobj)

Is "mutliplechoiceobj" a instance of AssessmentGroup? Is implicit 
locking enabled? If not OJB will lock/register "mutliplechoiceobj" 
without the referenced objects.


> Unexpected behaviour, unregistered object to delete:
> com.tk20.bo.evaluationinstrument.Question{100007f15c458c10ff4485144-7d2d},
> main object is
> com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},
> envelope object is
> org.apache.ojb.odmg.ObjectEnvelope@3da1e2[Identity=com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},ModificationState=org.apache.ojb.odmg.states.StateOldDelete]
> 
> 
> Why does it try to see whether the base class is registered or not? Should
> it not identify the exact subclass it is
>

OJB logs only the Identity and Identity.toString only print the 
top-level class + PK's (will improve Identity.toString method for OJB 
1.0.5 to avoid confusion).


> I modified the repository_user.xml for mappings for 
> AssessmentGroup
> <collection-descriptor
>         name="questionsInternal"
>        
> collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
>         element-class-ref="com.tk20.bo.evaluationinstrument.Question"
>         auto-retrieve="true"
>         auto-update="object"
>         auto-delete="object">
>        <inverse-foreignkey field-ref="assessmentGroupPk"/>
>      </collection-descriptor>
> 
> Mappings for MutlipleChoice and Question  as
>  <reference-descriptor
>         name="assessmentGroup"
>         class-ref="com.tk20.bo.template.AssessmentGroup"
>         auto-retrieve="true"
>         auto-update="none"
>         auto-delete="object">
>        <foreignkey field-ref="assessmentGroupPk"/>
>      </reference-descriptor>

Which version of OJB do you use? It's not allowed to set attribute 
"auto-update" different from "none", else you could get unexpected behavior.
http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings

regards,
Armin



> 
> 
> 
> 
> 
> 
> 
> arminw wrote:
>> Hi,
>>
>> mananthakris wrote:
>>> I checked that our repository_user file does not contain auto_XXX for an
>>> reference-desc and collection-desc, are these mandatory and could be
>>> cause
>>> of problems?
>>>
>> It seems that OJB can't find the Question object in intern object 
>> registry using it's Identity. OJB detect that the object no longer 
>> exists in the 1:n reference and try to remove the Question object.
>>
>> To enable cascading delete it's mandatory to set auto-delete="object".
>> http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings
>>
>> Could you please post the used source or pseudo code?
>>
>> regards,
>> Armin
>>
>>> mananthakris wrote:
>>>> Hi, 
>>>>
>>>> We are using same table for different subclasses using a varchar column
>>>> and define  ojbConcreteClass  to find the actual class.
>>>>
>>>> When we try to delete a object in a relationship , i see an error
>>>> "unregistered object for delete:" . I saw a previous forum question,
>>>> suggestion for the error and implemented writing locks for all objects
>>>> in
>>>> transaction, but we still have the error.
>>>>
>>>> In our case we have an object AssessmentGroup and an object Question in
>>>> 1:n relationship ( Question has different types of questions /subclasses
>>>> in a same table differentiated with classidentity column of the table).
>>>>
>>>> This error occurs when we delete a MultipleChoice sublclass of Question
>>>> and remove its relationship with AssessmentGroup.
>>>>
>>>> Detailed logs shows we are locking
>>>> AssessmentGroup,MultipleChoice(subclass) before delete, 
>>>>
>>>> but the exception shows even when we are writing
>>>> db.deletePersistent(multiplechoiceobj) , it is trying to delete base
>>>> class
>>>> internally. Do you think this is expected behaviour? Are we supposed to
>>>> lock base class inspite of knowing which exact class we are deleting?
>>>>
>>>> The exception is
>>>>
>>>> org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour,
>>>> unregistered object to delete:
>>>> com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
>>>> main object is
>>>> com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
>>>> envelope object is
>>>> org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]
>>>>
>>>>
>>>> We are using obj 1.0.4 odmg api with mysql db.Attached is the
>>>> repository_user.xml
>>>>  http://www.nabble.com/file/5190/repository_user.xml repository_user.xml 
>>>>
>> ---------------------------------------------------------------------
>> 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


Re: Inheritence delete exception

Posted by mananthakris <ma...@gmail.com>.
This is the pseudo code

Question - base class 
MultipleChoice question - Subclass of question
AssessmentGroup - 1: n with Question
(MultipleChoice  and other sub classes of Question are in the same table
identified by objconcreteclass)


code
Transaction tx - odmg.currentTransaction();
tx.lock (mutliplechoiceobj)
db.deletePersistent(multiplechoiceobj)

Detailed log shows that MutipleChoice is registered and locked, but the
exception says

Unexpected behaviour, unregistered object to delete:
com.tk20.bo.evaluationinstrument.Question{100007f15c458c10ff4485144-7d2d},
main object is
com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},
envelope object is
org.apache.ojb.odmg.ObjectEnvelope@3da1e2[Identity=com.tk20.bo.template.AssessmentGroup{100007f15c458c10ff4485144-7d2f},ModificationState=org.apache.ojb.odmg.states.StateOldDelete]


Why does it try to see whether the base class is registered or not? Should
it not identify the exact subclass it is

I modified the repository_user.xml for mappings for 
AssessmentGroup
<collection-descriptor
        name="questionsInternal"
       
collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
        element-class-ref="com.tk20.bo.evaluationinstrument.Question"
        auto-retrieve="true"
        auto-update="object"
        auto-delete="object">
       <inverse-foreignkey field-ref="assessmentGroupPk"/>
     </collection-descriptor>

Mappings for MutlipleChoice and Question  as
 <reference-descriptor
        name="assessmentGroup"
        class-ref="com.tk20.bo.template.AssessmentGroup"
        auto-retrieve="true"
        auto-update="none"
        auto-delete="object">
       <foreignkey field-ref="assessmentGroupPk"/>
     </reference-descriptor>







arminw wrote:
> 
> Hi,
> 
> mananthakris wrote:
>> I checked that our repository_user file does not contain auto_XXX for an
>> reference-desc and collection-desc, are these mandatory and could be
>> cause
>> of problems?
>> 
> 
> It seems that OJB can't find the Question object in intern object 
> registry using it's Identity. OJB detect that the object no longer 
> exists in the 1:n reference and try to remove the Question object.
> 
> To enable cascading delete it's mandatory to set auto-delete="object".
> http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings
> 
> Could you please post the used source or pseudo code?
> 
> regards,
> Armin
> 
>> mananthakris wrote:
>>> Hi, 
>>>
>>> We are using same table for different subclasses using a varchar column
>>> and define  ojbConcreteClass  to find the actual class.
>>>
>>> When we try to delete a object in a relationship , i see an error
>>> "unregistered object for delete:" . I saw a previous forum question,
>>> suggestion for the error and implemented writing locks for all objects
>>> in
>>> transaction, but we still have the error.
>>>
>>> In our case we have an object AssessmentGroup and an object Question in
>>> 1:n relationship ( Question has different types of questions /subclasses
>>> in a same table differentiated with classidentity column of the table).
>>>
>>> This error occurs when we delete a MultipleChoice sublclass of Question
>>> and remove its relationship with AssessmentGroup.
>>>
>>> Detailed logs shows we are locking
>>> AssessmentGroup,MultipleChoice(subclass) before delete, 
>>>
>>> but the exception shows even when we are writing
>>> db.deletePersistent(multiplechoiceobj) , it is trying to delete base
>>> class
>>> internally. Do you think this is expected behaviour? Are we supposed to
>>> lock base class inspite of knowing which exact class we are deleting?
>>>
>>> The exception is
>>>
>>> org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour,
>>> unregistered object to delete:
>>> com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
>>> main object is
>>> com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
>>> envelope object is
>>> org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]
>>>
>>>
>>> We are using obj 1.0.4 odmg api with mysql db.Attached is the
>>> repository_user.xml
>>>  http://www.nabble.com/file/5190/repository_user.xml repository_user.xml 
>>>
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Inheritence-delete-exception-tf2909729.html#a8187399
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at Nabble.com.


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


Re: Inheritence delete exception

Posted by Armin Waibel <ar...@apache.org>.
Hi,

mananthakris wrote:
> I checked that our repository_user file does not contain auto_XXX for an
> reference-desc and collection-desc, are these mandatory and could be cause
> of problems?
> 

It seems that OJB can't find the Question object in intern object 
registry using it's Identity. OJB detect that the object no longer 
exists in the 1:n reference and try to remove the Question object.

To enable cascading delete it's mandatory to set auto-delete="object".
http://db.apache.org/ojb/docu/guides/odmg-guide.html#Specific+Metadata+Settings

Could you please post the used source or pseudo code?

regards,
Armin

> mananthakris wrote:
>> Hi, 
>>
>> We are using same table for different subclasses using a varchar column
>> and define  ojbConcreteClass  to find the actual class.
>>
>> When we try to delete a object in a relationship , i see an error
>> "unregistered object for delete:" . I saw a previous forum question,
>> suggestion for the error and implemented writing locks for all objects in
>> transaction, but we still have the error.
>>
>> In our case we have an object AssessmentGroup and an object Question in
>> 1:n relationship ( Question has different types of questions /subclasses
>> in a same table differentiated with classidentity column of the table).
>>
>> This error occurs when we delete a MultipleChoice sublclass of Question
>> and remove its relationship with AssessmentGroup.
>>
>> Detailed logs shows we are locking
>> AssessmentGroup,MultipleChoice(subclass) before delete, 
>>
>> but the exception shows even when we are writing
>> db.deletePersistent(multiplechoiceobj) , it is trying to delete base class
>> internally. Do you think this is expected behaviour? Are we supposed to
>> lock base class inspite of knowing which exact class we are deleting?
>>
>> The exception is
>>
>> org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour,
>> unregistered object to delete:
>> com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
>> main object is
>> com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
>> envelope object is
>> org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]
>>
>>
>> We are using obj 1.0.4 odmg api with mysql db.Attached is the
>> repository_user.xml
>>  http://www.nabble.com/file/5190/repository_user.xml repository_user.xml 
>>
> 

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


Re: Inheritence delete exception

Posted by mananthakris <ma...@gmail.com>.
I checked that our repository_user file does not contain auto_XXX for an
reference-desc and collection-desc, are these mandatory and could be cause
of problems?

mananthakris wrote:
> 
> Hi, 
> 
> We are using same table for different subclasses using a varchar column
> and define  ojbConcreteClass  to find the actual class.
> 
> When we try to delete a object in a relationship , i see an error
> "unregistered object for delete:" . I saw a previous forum question,
> suggestion for the error and implemented writing locks for all objects in
> transaction, but we still have the error.
> 
> In our case we have an object AssessmentGroup and an object Question in
> 1:n relationship ( Question has different types of questions /subclasses
> in a same table differentiated with classidentity column of the table).
> 
> This error occurs when we delete a MultipleChoice sublclass of Question
> and remove its relationship with AssessmentGroup.
> 
> Detailed logs shows we are locking
> AssessmentGroup,MultipleChoice(subclass) before delete, 
> 
> but the exception shows even when we are writing
> db.deletePersistent(multiplechoiceobj) , it is trying to delete base class
> internally. Do you think this is expected behaviour? Are we supposed to
> lock base class inspite of knowing which exact class we are deleting?
> 
> The exception is
> 
> org.apache.ojb.odmg.Image$ImageException: Unexpected behaviour,
> unregistered object to delete:
> com.tk20.bo.evaluationinstrument.Question{100007f1388e5e10fe3fa0849-7ff1},
> main object is
> com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},
> envelope object is
> org.apache.ojb.odmg.ObjectEnvelope@10a5314[Identity=com.tk20.bo.template.AssessmentGroup{100007f1388e5e10fe3fa0849-7ff3},ModificationState=org.apache.ojb.odmg.states.StateOldClean]
> 
> 
> We are using obj 1.0.4 odmg api with mysql db.Attached is the
> repository_user.xml
>  http://www.nabble.com/file/5190/repository_user.xml repository_user.xml 
> 

-- 
View this message in context: http://www.nabble.com/Inheritence-delete-exception-tf2909729.html#a8147474
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at Nabble.com.


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