MyEclipse Forums
This thread has been locked & this forum has been archived.
Please post new topics to Java EE Development (EJB, JSP, Struts, XDoclet, etc.)
View previous topic Printable version Log in to check your private messages View next topic
Author Message
Phoenix_133
Post subject: Error on reverse engineering table to generate POJO  PostPosted: May 04, 2012 - 01:40 PM



Joined: Apr 25, 2012
Posts: 17

Hi devs,

I currently get a NullPointerException on generating the Pojo and hbm.xml files on two certain tables. Sadly, the stacktrace of myEclipse did not reveal a lot.
I also made sure, that this is not due to my own templates, by deactivating the option.

Here is the stacktrace I get from myEclipse .log:
Code:

!SESSION 2012-05-04 09:36:25.962 -----------------------------------------------
eclipse.buildId=unknown                                                         
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY com.genuitec.eclipse.core 1 0 2012-05-04 09:36:42.414
!MESSAGE Unable to locate .myeclipse-blue.properties file

!ENTRY com.genuitec.eclipse.hibernate 1 0 2012-05-04 09:37:46.471
!MESSAGE Could not find implementors of IBaseHibernateDAO
!STACK 0
java.lang.ClassCastException: org.eclipse.jdt.core.search.TypeDeclarationMatch cannot be cast to org.eclipse.jdt.core.search.TypeReferenceMatch
        at com.genuitec.eclipse.hibernate.wizards.NewHibernateArtifactWizardPage.initializeBaseDAOCombo(NewHibernateArtifactWizardPage.java:702)
        at com.genuitec.eclipse.hibernate.wizards.NewHibernateArtifactWizardPage.loadProjectProperties(NewHibernateArtifactWizardPage.java:638)
        at com.genuitec.eclipse.hibernate.wizards.NewHibernateArtifactWizardPage.updatePackageFragmentRoot(NewHibernateArtifactWizardPage.java:521)
        at com.genuitec.eclipse.hibernate.wizards.NewHibernateArtifactWizardPage.init(NewHibernateArtifactWizardPage.java:976)
        at com.genuitec.eclipse.hibernate.wizards.NewHibernateMappingWizard.createPageControls(NewHibernateMappingWizard.java:212)
        at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
        at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608)
        at org.eclipse.jface.window.Window.create(Window.java:431)
        at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
        at com.genuitec.eclipse.hibernate.action.NewHibernateMappingAction.basicRun(NewHibernateMappingAction.java:68)
        at com.genuitec.eclipse.core.ui.action.LicenseValidatingAction.run(Unknown Source)
        at com.genuitec.eclipse.hibernate.action.NewHibernateMappingAction.run(NewHibernateMappingAction.java:82)
        at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
        at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
        at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

!ENTRY org.eclipse.core.jobs 4 2 2012-05-04 09:37:53.088
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
java.lang.NullPointerException
        at org.hibernate.cfg.JDBCBinder.isFKConstrained(JDBCBinder.java:1018)
        at org.hibernate.cfg.JDBCBinder.bindOutgoingForeignKeys(JDBCBinder.java:594)
        at org.hibernate.cfg.JDBCBinder.createPersistentClasses(JDBCBinder.java:179)
        at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:93)
        at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:137)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$7.execute(GenerateArtifactsJob.java:891)
        at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:64)
        at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:95)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:872)
        at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:412)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


The following is my (because of NDA-issues slightly altered) SQL statements, to create the table:
Code:

create table myPROD_BASE.TABLE_A
(
  DISPLAY_MYID     CHAR(30) not null,
  MY_FIGUREID    CHAR(20) not null,
  MY_SHAPE     CHAR(3) not null,
  LINE_VIEW   CHAR(1) not null,
  FG_COLOUR CHAR(15) not null,
  BGT_IND  CHAR(1) not null,
  TRANS_PLACE  CHAR(1) not null
)
tablespace myPROD_DATA;
Alter Table myPROD_BASE.TABLE_A
  add primary key (DISPLAY_MYID, MY_FIGUREID)
  using index tablespace myPROD_INDEX;
Alter Table myPROD_BASE.TABLE_A
  add foreign key (DISPLAY_MYID)
  References myPROD_BASE.MAPS_GUIDE (DISPLAY_MYID);
Alter Table myPROD_BASE.TABLE_A
  add foreign key (FG_COLOUR)
  References myPROD_BASE.MY_COLOURS (COLOUR_NAME);
Alter Table myPROD_BASE.TABLE_A
  add check (MY_SHAPE IN ('ABC','DEF','GHI'));
Alter Table myPROD_BASE.TABLE_A
  add check (LINE_VIEW IN ('A','B','C'));
Alter Table myPROD_BASE.TABLE_A
  add check (BGT_IND IN ('Y','N'));
Alter Table myPROD_BASE.TABLE_A
  add check (TRANS_PLACE IN ('Y','N'));

prompt Creating TABLE_B...
create table myPROD_BASE.TABLE_B
(
  DISPLAY_MYID   CHAR(30) not null,
  MY_FIGUREID  CHAR(20) not null,
  C_FMT   CHAR(1) not null,
  C_LCN CHAR(15) not null,
  R_DIST NUMBER(4) not null
)
tablespace myPROD_DATA;
Alter Table myPROD_BASE.TABLE_B
  add constraint TABLE_B_PK primary key (DISPLAY_MYID, MY_FIGUREID, C_FMT,
C_LCN, R_DIST)
  using index tablespace myPROD_INDEX;
Alter Table myPROD_BASE.TABLE_B
  add foreign key (DISPLAY_MYID, MY_FIGUREID)
  References myPROD_BASE.TABLE_A (DISPLAY_MYID, MY_FIGUREID);
Alter Table myPROD_BASE.TABLE_B
  add check (C_FMT IN ('A','B','C'));
Alter Table myPROD_BASE.TABLE_B
  add check (R_DIST >= 1);
Alter Table myPROD_BASE.TABLE_B
  add check (R_DIST <= 999);

 
 View user's profile Send private message  
Reply with quote Back to top
support-swapna
Post subject:   PostPosted: May 07, 2012 - 10:01 AM



Joined: Nov 11, 2010
Posts: 2499

Phoenix_133 ,

Sorry that you are seeing this issue.

1. Can you please recheck your tables if a case where the foreign key column contains a value without a match in the pk column exists? Please ensure that there are no issues with foreign keys and their related tables.

2. The DDL which you have sent is not complete enough for us to investigate. Can you please put together a DDL for a set of tables that exhibit the problem to help us investigate further ?

_________________
Swapna
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 6 Hours
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2004 The PNphpBB Group
Credits