Tom, Sahoo,
I can't reproduce your error message in my environment,
but I was getting the original exception (no @Id, etc.)
on the latest code (I used trunk but it completely matches
the fcs branch).
Can you please check if the following change makes any
difference on your side:
Index:
src/java/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataDescriptor.java
===================================================================
RCS file:
/cvs/glassfish/entity-persistence/src/java/oracle/toplink/essentials/internal/ejb/cmp3/metadata/MetadataDescriptor.java,v
retrieving revision 1.12
diff -r1.12 MetadataDescriptor.java
987c987
< if (hasInheritanceTag(parent) ||
m_metadataDescriptors.containsKey(parent)) {
---
> if (hasInheritanceTag(parent) ||
m_metadataDescriptors.containsKey(parent) || hasEntityTag(parent)) {
I attach the modified file here.
thanks,
-marina
Tom Ware wrote On 04/05/06 06:14,:
> Sahoo,
>
> Thank you for pointing out this issue. We will investigate.
>
> -Tom
>
> Marina Vatkina wrote:
>
>
>>CC-ing Jerome and Shelly.
>>
>>-marina
>>
>>Sanjeeb Kumar Sahoo wrote:
>>
>>
>>
>>>Hi Tom,
>>>
>>>I tried running the test case for issue #486 on my latest workspace and
>>>got following result:
>>>
>>>Exception [TOPLINK-0] (Oracle TopLink Essentials - 2006.4 (Build
>>>060404)): oracle.toplink.essentials.exceptions.IntegrityException
>>>Descriptor Exceptions:
>>>---------------------------------------------------------
>>>
>>>Exception [TOPLINK-8] (Oracle TopLink Essentials - 2006.4 (Build
>>>060404)): oracle.toplink.essentials.exceptions.DescriptorException
>>>Exception Description: The descriptor [RelationalDescriptor(pkg.A -->
>>>[DatabaseTable(A)])] has been set to use inheritance, but a class
>>>indicator field has not been defined.
>>>When using inheritance, a class indicator field or class extraction
>>>method must be set.
>>>Parent Descriptor: [RelationalDescriptor(pkg.A --> [DatabaseTable(A)])]
>>>Descriptor: RelationalDescriptor(pkg.A --> [DatabaseTable(A)])
>>>
>>>Exception [TOPLINK-8] (Oracle TopLink Essentials - 2006.4 (Build
>>>060404)): oracle.toplink.essentials.exceptions.DescriptorException
>>>Exception Description: The descriptor [RelationalDescriptor(pkg.B -->
>>>[DatabaseTable(A), DatabaseTable(B)])] has been set to use inheritance,
>>>but a class indicator field has not been defined.
>>>When using inheritance, a class indicator field or class extraction
>>>method must be set.
>>>Parent Descriptor: [RelationalDescriptor(pkg.A --> [DatabaseTable(A)])]
>>>Descriptor: RelationalDescriptor(pkg.B --> [DatabaseTable(A),
>>>DatabaseTable(B)])
>>>
>>>When I added @Inheritance to pkg.A.class, the errors vanished. I am
>>>using the latest workspace. I saw the issue both in the trunk as well as
>>>in the 90 branch.
>>>
>>>Thanks,
>>>Sahoo
>>>
>>>Tom Ware wrote:
>>>
>>>
>>>
>>>
>>>>Checked into entity-persistence on FCS branch on on Trunk
>>>>
>>>>Issue number: 486
>>>>Obtained from: TopLink
>>>>Submitted by: Tom Ware
>>>>Reviewed by: TopLink Team
>>>>
>>>>Fix for GlassFish issue 486
>>>>
>>>>Tested with QuickLook, entity-persistence tests and Oracle-internal tests
>>>>
>>>>