Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 364775

Summary: Deployment with @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) fails with java.lang.NullPointerException and java.util.ConcurrentModificationException
Product: z_Archived Reporter: darren
Component: EclipselinkAssignee: Nobody - feel free to take it <nobody>
Status: NEW --- QA Contact:
Severity: critical    
Priority: P3 CC: martin.grebac, tom.ware
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard: tableperclass, concurrency
Bug Depends on:    
Bug Blocks: 455043    
Attachments:
Description Flags
Glassfish3.1 log after fresh restart of glassfish, onto completely empty Oracle 10gR2 database schema, with @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS), on fresh deploy none

Description darren CLA 2011-11-24 19:25:00 EST
Build Identifier: Eclipse Persistence Services - 2.2.0.v20110202-r8913

I am using EclipseLink for a Netbeans7 Java web application deployed onto Glassfish3.1, with Oracle 10g R2 backend.

I have a complex entity inheritance hierarchy essentially rooted at:

 @Entity 
 @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) //FAILS: 
 public class Element extends All_ {

Although this in turns extends All_ where:

 public class All_ implements Serializable {

Is a utility base class that merely provides some common logging services 

Access type property is used throughout the system.

I will provide an attachment with the full glassfish output log including stacktraces.

It is extremely difficult to sensible declare "Steps to reproduce" below without providing my entire quite large Netbeans code project for your examination.

I might add the reason I am exploring TABLE_PER_CLASS at all is that under SINGLE_TABLE we are running up against the 1000 column limit of Oracle, and under JOINED the system grinds to a halt on some crucial queries because of the many joins (under JOINED we have over 700 tables).


Reproducible: Always

Steps to Reproduce:
1. Undeploy all existing projects, ensure all existing tables in schema deleted, restart Glassfish3.1, set EclipseLink table creation strategy property name="eclipselink.ddl-generation" value="create-tables",

2. Rebuild entire web application ensuring base entity Element has @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)

3. Run Netbeans Java EE web application and immediately observe:

INFO: EclipseLink, version: Eclipse Persistence Services - 2.2.0.v20110202-r8913
SEVERE: Local Exception Stack:
Exception [EclipseLink-0] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.IntegrityException
Descriptor Exceptions:
---------------------------------------------------------
Runtime Exceptions:
---------------------------------------------------------
java.lang.NullPointerException
..
Comment 1 darren CLA 2011-11-24 19:39:38 EST
Created attachment 207510 [details]
Glassfish3.1 log after fresh restart of glassfish, onto completely empty Oracle 10gR2 database schema, with @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS), on fresh deploy

Glassfish3.1 log after fresh restart of glassfish, onto completely empty Oracle 10gR2 database schema, with @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS), after complete rebuild of Netbeans JavaEE web application project, deployed from Netbeans. This project and process work with the other InheritanceType strategies on this project.
Comment 2 Tom Ware CLA 2011-12-14 15:37:28 EST
Setting target and priority.  See the following page for the meanings of these fields:

http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines

Community: Please vote for this bug if it is important to you.  Votes are one of the main criteria we use to determine which bugs to fix next.
Comment 3 Eclipse Webmaster CLA 2022-06-09 10:19:16 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink