facebook

Native-generated IDs with Derby DB/Hibernate3

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #248943 Reply

    MKeim
    Member

    Hello,

    and please excuse the longish posting, I’m just trying to meet the posting guidelines… 8)
    I’m trying to build an application by reverse-engineering a Derby DB (Derby core plugin 10.1.2.1, Derby UI plugin 1.1.0) with the Hibernate3 feature of MyEclipse 4.1.1 GA (see details below).

    The SQL script used to create a test-DB is

    
    CREATE SCHEMA DBO;
    CREATE TABLE DBO.DBINFO
      (
      ID INT NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT DBINFO_PK PRIMARY KEY,
    
      CONN_URL VARCHAR(128) NOT NULL,
      DB_USER VARCHAR(32) NOT NULL,
      DB_PWD VARCHAR(32) NOT NULL,
      DB_TYPE SMALLINT NOT NULL,
      LOCK_HANDLER VARCHAR(128) DEFAULT 'com.ordat.ecom.test.derby.DummyLockHandler',
      COMMENT VARCHAR(256)
      );
      
    CREATE TABLE DBO.TASK
      (
      ID INT NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT TASK_PK PRIMARY KEY,
      SEQ_NR SMALLINT NOT NULL CONSTRAINT TASK_U_SEQ_NR UNIQUE,
      COMMENT VARCHAR(256)
      );
      
    CREATE TABLE DBO.SUBTASK
      (
      TASK_ID INT NOT NULL CONSTRAINT SUBTASK_FK_TASK REFERENCES DBO.TASK ON DELETE RESTRICT ON UPDATE RESTRICT,
      SEQ_NR SMALLINT NOT NULL,
      SEQ_NR_REF SMALLINT,
      DB_ID INT NOT NULL CONSTRAINT SUBTASK_FK_TARGET_DB REFERENCES DBO.DBINFO ON DELETE RESTRICT ON UPDATE RESTRICT,
      SQL_STATEMENT VARCHAR(512) NOT NULL,
      COMMENT VARCHAR(256),
      CONSTRAINT SUBTASK_PK PRIMARY KEY (TASK_ID, SEQ_NR),
      CONSTRAINT SUBTASK_FK_SUBTASK_REF FOREIGN KEY (TASK_ID, SEQ_NR_REF) REFERENCES DBO.SUBTASK (TASK_ID, SEQ_NR) ON DELETE RESTRICT ON UPDATE RESTRICT
      );
    

    The Hibernate config is

    
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <!-- Generated by MyEclipse Hibernate Tools.                   -->
    <hibernate-configuration>
    
    <session-factory>
        <property name="connection.username">dbo</property>
        <property name="connection.url">jdbc:derby://localhost:1527/fossConn;create=true</property>
        <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
        <property name="myeclipse.connection.profile">FOSSCONN_LOCAL_DERBY_CLIENT</property>
        <property name="connection.password">dbo</property>
        <property name="connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
        <mapping resource="com/ordat/ecom/fossconn/Task.hbm.xml" />
        <mapping resource="com/ordat/ecom/fossconn/Subtask.hbm.xml" />
        <mapping resource="com/ordat/ecom/fossconn/DbInfo.hbm.xml" />
    
    </session-factory>
    
    </hibernate-configuration>
    

    AFAICS the tools work as expected, the Hibernate mappings and the appropriate Java classes gets generated.
    The generated Hibernate mapping (for the first table, other are similar) is

    
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse - Hibernate Tools
    -->
    <hibernate-mapping>
        <class name="com.acme.DbInfo" table="DBINFO" schema="DBO">
            <id name="id" type="integer">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="connUrl" type="string">
                <column name="CONN_URL" length="128" not-null="true" />
            </property>
            <property name="dbUser" type="string">
                <column name="DB_USER" length="32" not-null="true" />
            </property>
            <property name="dbPwd" type="string">
                <column name="DB_PWD" length="32" not-null="true" />
            </property>
            <property name="dbType" type="short">
                <column name="DB_TYPE" not-null="true" />
            </property>
            <property name="lockHandler" type="string">
                <column name="LOCK_HANDLER" length="128" />
            </property>
            <property name="comment" type="string">
                <column name="COMMENT" length="256" />
            </property>
            <set name="subtasks" inverse="true">
                <key>
                    <column name="DB_ID" not-null="true" />
                </key>
                <one-to-many class="com.acme.Subtask" />
            </set>
        </class>
    </hibernate-mapping>
    

    But when I run a test programm to create some data, I get the following exception

    
    org.hibernate.exception.SQLGrammarException: could not get or update next value
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:59)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.engine.TransactionHelper.doWorkInNewTransaction(TransactionHelper.java:85)
        at org.hibernate.id.TableGenerator.generate(TableGenerator.java:94)
        at org.hibernate.id.TableHiLoGenerator.generate(TableHiLoGenerator.java:61)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:85)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:481)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:476)
        at com.acme.HibernateTest.main(HibernateTest.java:35)
    Caused by: org.apache.derby.client.am.SqlException: Table 'HIBERNATE_UNIQUE_KEY' does not exist.
        at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
        at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
        at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
        at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
        at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
        at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
        at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
        at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
        at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
        at org.hibernate.id.TableGenerator.doWorkInCurrentTransaction(TableGenerator.java:131)
        at org.hibernate.engine.TransactionHelper.doWorkInNewTransaction(TransactionHelper.java:64)
        ... 11 more
    

    The Hibernate log is

    
    13:37:59,081  INFO Environment:464 - Hibernate 3.0.5
    13:37:59,097  INFO Environment:477 - hibernate.properties not found
    13:37:59,097  INFO Environment:510 - using CGLIB reflection optimizer
    13:37:59,097  INFO Environment:540 - using JDK 1.4 java.sql.Timestamp handling
    13:37:59,175  INFO Configuration:1110 - configuring from resource: /hibernate.cfg.xml
    13:37:59,175  INFO Configuration:1081 - Configuration resource: /hibernate.cfg.xml
    13:37:59,315  INFO Configuration:444 - Mapping resource: com/acme/Task.hbm.xml
    13:37:59,456  INFO HbmBinder:260 - Mapping class: com.acme.Task -> TASK
    13:37:59,487  INFO Configuration:444 - Mapping resource: com/acme/Subtask.hbm.xml
    13:37:59,534  INFO HbmBinder:260 - Mapping class: com.acme.Subtask -> SUBTASK
    13:37:59,612  INFO Configuration:444 - Mapping resource: com/acme/DbInfo.hbm.xml
    13:37:59,659  INFO HbmBinder:260 - Mapping class: com.acme.DbInfo -> DBINFO
    13:37:59,659  INFO Configuration:1222 - Configured SessionFactory: null
    13:37:59,659  INFO Configuration:875 - processing extends queue
    13:37:59,659  INFO Configuration:879 - processing collection mappings
    13:37:59,659  INFO HbmBinder:2041 - Mapping collection: com.acme.Task.subtasks -> SUBTASK
    13:37:59,659  INFO HbmBinder:2041 - Mapping collection: com.acme.Subtask.subtasks -> SUBTASK
    13:37:59,659  INFO HbmBinder:2041 - Mapping collection: com.acme.DbInfo.subtasks -> SUBTASK
    13:37:59,659  INFO Configuration:888 - processing association property references
    13:37:59,659  INFO Configuration:917 - processing foreign key constraints
    13:37:59,847  INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
    13:37:59,847  INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
    13:37:59,847  INFO DriverManagerConnectionProvider:45 - autocommit mode: false
    13:37:59,862  INFO DriverManagerConnectionProvider:80 - using driver: org.apache.derby.jdbc.ClientDriver at URL: jdbc:derby://localhost:1527/fossConn;create=true
    13:37:59,862  INFO DriverManagerConnectionProvider:86 - connection properties: {user=dbo, password=****}
    13:38:00,065  INFO SettingsFactory:77 - RDBMS: Apache Derby, version: 10.1.2.1
    13:38:00,065  INFO SettingsFactory:78 - JDBC driver: Apache Derby Network Client JDBC Driver, version: 10.1.2.1
    13:38:00,175  INFO Dialect:92 - Using dialect: org.hibernate.dialect.DerbyDialect
    13:38:00,175  INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
    13:38:00,190  INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    13:38:00,190  INFO SettingsFactory:125 - Automatic flush during beforeCompletion(): disabled
    13:38:00,190  INFO SettingsFactory:129 - Automatic session close at end of transaction: disabled
    13:38:00,190  INFO SettingsFactory:144 - Scrollable result sets: enabled
    13:38:00,190  INFO SettingsFactory:152 - JDBC3 getGeneratedKeys(): disabled
    13:38:00,190  INFO SettingsFactory:160 - Connection release mode: null
    13:38:00,190  INFO SettingsFactory:187 - Default batch fetch size: 1
    13:38:00,190  INFO SettingsFactory:191 - Generate SQL with comments: disabled
    13:38:00,190  INFO SettingsFactory:195 - Order SQL updates by primary key: disabled
    13:38:00,190  INFO SettingsFactory:334 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    13:38:00,190  INFO ASTQueryTranslatorFactory:21 - Using ASTQueryTranslatorFactory
    13:38:00,190  INFO SettingsFactory:203 - Query language substitutions: {}
    13:38:00,190  INFO SettingsFactory:209 - Second-level cache: enabled
    13:38:00,190  INFO SettingsFactory:213 - Query cache: disabled
    13:38:00,190  INFO SettingsFactory:321 - Cache provider: org.hibernate.cache.EhCacheProvider
    13:38:00,206  INFO SettingsFactory:228 - Optimize cache for minimal puts: disabled
    13:38:00,206  INFO SettingsFactory:237 - Structured second-level cache entries: disabled
    13:38:00,206  INFO SettingsFactory:261 - Statistics: disabled
    13:38:00,206  INFO SettingsFactory:265 - Deleted entity synthetic identifier rollback: disabled
    13:38:00,206  INFO SettingsFactory:279 - Default entity-mode: pojo
    13:38:00,237  INFO SessionFactoryImpl:152 - building session factory
    13:38:00,237 DEBUG CacheManager:191 - Creating new CacheManager with default config
    13:38:00,253 DEBUG CacheManager:164 - Configuring ehcache from classpath.
    13:38:00,253  WARN Configurator:126 - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/E:/eclipse31/workspace/fossconn/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
    13:38:00,253 DEBUG Configuration$DiskStore:185 - Disk Store Path: C:\DOKUME~1\foo\LOKALE~1\Temp\
    13:38:00,675  INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
    13:38:00,675  INFO SessionFactoryImpl:379 - Checking 0 named queries
    13:38:00,737  WARN JDBCExceptionReporter:71 - SQL Error: -1, SQLState: 42X05
    13:38:00,753 ERROR JDBCExceptionReporter:72 - Table 'HIBERNATE_UNIQUE_KEY' does not exist.
    

    Any ideas how to solve that issue?

    Thanks, Markus

    MyEclipse configuration summary

    
    *** Date: Mon Mar 20 13:31:22 GMT+01:00 2006
    
    *** System properties:
    OS=WindowsXP
    OS version=5.1
    Java version=1.4.2_07
    
    *** MyEclipse details:
    MyEclipse Enterprise Workbench
    
    Version: 4.1.1 GA
    Build id: 20060228-4.1.1-GA
    
    *** Eclipse details:
    Eclipse SDK
    
    Version: 3.1.2
    Build id: M20060118-1600
    
    Eclipse Platform
    
    Version: 3.1.2
    Build id: M20060118-1600
    
    Eclipse Java Development Tools
    
    Version: 3.1.2
    Build id: I20050627-1435
    
    Eclipse Plug-in Development Environment
    
    Version: 3.1.2
    Build id: I20050627-1435
    
    Eclipse Project SDK
    
    Version: 3.1.2
    Build id: M20060118-1600
    
    Eclipse Graphical Editing Framework
    
    Version: 3.1
    Build id: 200509301327
    
    Eclipse RCP
    
    Version: 3.1.2
    Build id: I20050627-1435
    
    Eclipse startup command=-os
    win32
    -ws
    win32
    -arch
    x86
    -launcher
    E:\eclipse31\eclipse\eclipse.exe
    -name
    Eclipse
    -showsplash
    600
    -exitdata
    3bc_34
    -vm
    E:\java\j2sdk1.4.2\bin\javaw.exe
    

    MyEclipse error log (tho I’m not sure if that’s related to the above mentioned problem)

    
    !SESSION 2006-03-20 09:26:52.873 -----------------------------------------------
    eclipse.buildId=I20050627-1435
    java.version=1.4.2_07
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_DE
    Command-line arguments:  -os win32 -ws win32 -arch x86
    
    !ENTRY org.eclipse.ui 4 0 2006-03-20 13:07:13.335
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editors.HibernateConfigXMLEditor to create itself (this is probably, but not necessarily, a bug)
    !STACK 1
    org.eclipse.ui.PartInitException: Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editors.HibernateConfigXMLEditor to create itself (this is probably, but not necessarily, a bug)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:543)
        at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:223)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:477)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:402)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:372)
        at org.eclipse.ui.internal.WorkbenchPage.findEditor(WorkbenchPage.java:1780)
        at com.genuitec.eclipse.core.util.EditorUtil.getEditorForInput(EditorUtil.java:158)
        at com.genuitec.eclipse.core.util.EditorUtil.checkConflictingEditor(EditorUtil.java:219)
        at com.ibm.xmleditor.internal.XMLMultiPageEditorPart.init(XMLMultiPageEditorPart.java:552)
        at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:778)
        at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
        at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
        at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:283)
        at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
        at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:269)
        at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
        at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
        at org.eclipse.ui.internal.PartStack.handleDeferredEvents(PartStack.java:1066)
        at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:402)
        at org.eclipse.ui.internal.PartSashContainer.handleDeferredEvents(PartSashContainer.java:1317)
        at org.eclipse.ui.internal.LayoutPart.deferUpdates(LayoutPart.java:402)
        at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1260)
        at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1250)
        at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1224)
        at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1279)
        at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:54)
        at org.eclipse.ui.internal.PartStack.close(PartStack.java:495)
        at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:197)
        at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:102)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:81)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:67)
        at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:584)
        at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:190)
        at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2075)
        at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:292)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
        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:324)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
        at org.eclipse.core.launcher.Main.run(Main.java:973)
        at org.eclipse.core.launcher.Main.main(Main.java:948)
    !SUBENTRY 1 org.eclipse.ui 4 0 2006-03-20 13:07:13.335
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editors.HibernateConfigXMLEditor to create itself (this is probably, but not necessarily, a bug)
    
    !ENTRY org.eclipse.ui 4 0 2006-03-20 13:07:37.85
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
    !STACK 1
    org.eclipse.ui.PartInitException: Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:543)
        at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:223)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:477)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:402)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:372)
        at org.eclipse.ui.internal.WorkbenchPage.findEditor(WorkbenchPage.java:1780)
        at com.genuitec.eclipse.core.util.EditorUtil.getEditorForInput(EditorUtil.java:158)
        at com.genuitec.eclipse.core.util.EditorUtil.checkConflictingEditor(EditorUtil.java:219)
        at com.ibm.xmleditor.internal.XMLMultiPageEditorPart.init(XMLMultiPageEditorPart.java:552)
        at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:778)
        at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
        at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
        at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:283)
        at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
        at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:269)
        at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
        at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
        at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1051)
        at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:785)
        at org.eclipse.ui.internal.PartStack.access$0(PartStack.java:771)
        at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:119)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:126)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:84)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:867)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:852)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:660)
        at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3138)
        at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1922)
        at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
        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:324)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
        at org.eclipse.core.launcher.Main.run(Main.java:973)
        at org.eclipse.core.launcher.Main.main(Main.java:948)
    !SUBENTRY 1 org.eclipse.ui 4 0 2006-03-20 13:07:37.85
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
    
    !ENTRY org.eclipse.ui 4 0 2006-03-20 13:07:40.460
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
    !STACK 1
    org.eclipse.ui.PartInitException: Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:543)
        at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:223)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:477)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:402)
        at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:372)
        at org.eclipse.ui.internal.WorkbenchPage.findEditor(WorkbenchPage.java:1780)
        at com.genuitec.eclipse.core.util.EditorUtil.getEditorForInput(EditorUtil.java:158)
        at com.genuitec.eclipse.core.util.EditorUtil.checkConflictingEditor(EditorUtil.java:219)
        at com.ibm.xmleditor.internal.XMLMultiPageEditorPart.init(XMLMultiPageEditorPart.java:552)
        at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:778)
        at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
        at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
        at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:283)
        at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
        at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:269)
        at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
        at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
        at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1051)
        at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:785)
        at org.eclipse.ui.internal.PartStack.access$0(PartStack.java:771)
        at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:119)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:126)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
        at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
        at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:84)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:867)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:852)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:660)
        at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3138)
        at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1922)
        at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
        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:324)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
        at org.eclipse.core.launcher.Main.run(Main.java:973)
        at org.eclipse.core.launcher.Main.main(Main.java:948)
    !SUBENTRY 1 org.eclipse.ui 4 0 2006-03-20 13:07:40.460
    !MESSAGE Warning: Detected recursive attempt by part com.genuitec.eclipse.hibernate.editor.multipage.hibernatemappingeditor to create itself (this is probably, but not necessarily, a bug)
    
    #248950 Reply

    Riyad Kalla
    Member

    Try and do a File Search on your project for the text “HIBERNATE_UNIQUE_KEY” and see where it pops up, then check that hibernate mapping file and see why it’s trying to look for a table by that name.

    #248957 Reply

    MKeim
    Member

    Try and do a File Search on your project for the text “HIBERNATE_UNIQUE_KEY” and see where it pops up, then check that hibernate mapping file and see why it’s trying to look for a table by that name.

    “HIBERNATE_UNIQUE_KEY” only shows up in the hibernate log file, the three generated mappings include no reference to that table.

    #248980 Reply

    Haris Peco
    Member

    MKeim ,

    You have 2 choices :

    1) if you create your table with identity key ‘ID INT NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT DBINFO_PK PRIMARY KEY’
    choose identity generator (no native) in mapping file (hbm.xml)

    This is simple – just change generator

    2) if you want native generator create table without identity like this :

    CREATE TABLE DBO.DBINFO
    (
    ID INT NOT NULL CONSTRAINT DBINFO_PK PRIMARY KEY,
    ….

    and make table hibernate_unique_key
    create table dbo.hibernate_unique_key(
    next_hi integer);
    insert into dbo.hibernate_unique_key values(0);

    you have to add default_schema property in hibernate.cfg.xml (value DBO), too

    you can choose another table instead hibernate_unique_key and add parameter in native generator like this :

    
    ..
    <id name="id" type="integer">
                <column name="ID" />
                <generator class="native" >
                    <param name="table">YOUR_TABLE</param>
                    <param name="column">YOUR_COLUMN</param>
                </generator>
    </id>
    ...
    

    and make your new tables in your default schema like hibernate_unique_key

    Best

    #249089 Reply

    MKeim
    Member

    You have 2 choices : […]

    Yep, option 1) is exactly what I was looking for, I havn’t tried it since the refrences says

    identity

    supports identity columns in DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL.

    I already checked option 2), it works, but I think it’s not the “natural” choice for a DB that support identity columns.

    Thanks & Ciao!

    #249091 Reply

    Haris Peco
    Member

    MKeim ,

    Yep, option 1) is exactly what I was looking for, I havn’t tried it since the refrences says

    derby is IBM’s donation to open source and it is similar db2 – hibernate support derby in latest releases and documentation isn’t updated (code is fine)

    I already checked option 2), it works, but I think it’s not the “natural” choice for a DB that support identity columns.

    your choice

    I’m glad that you resolved problem

    Best regards

Viewing 6 posts - 1 through 6 (of 6 total)
Reply To: Native-generated IDs with Derby DB/Hibernate3

You must be logged in to post in the forum log in