No worries guys, I'm going through the tests now and make sure they all run. I think it is related to the tmodel not having an int as PK but rather a string. I'm using that field to join on.

--Kurt

Jeff Faath (JIRA) wrote:
[ https://issues.apache.org/jira/browse/JUDDI-145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656325#action_12656325 ]
Jeff Faath commented on JUDDI-145:
----------------------------------

Here's the issue.  tModels were saving fine before, so I assumed it had 
something to do with the changes made for issue #3:

             <![CDATA[javax.persistence.PersistenceException: 
org.hibernate.exception.GenericJDBCException: could not insert: 
[org.apache.juddi.model.TmodelDescr]
        at 
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630)
        at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219)
        at 
org.apache.juddi.test.UDDIApiTestHelper.installRootPublisherKeyGen(UDDIApiTestHelper.java:79)
        at org.apache.juddi.test.JUDDITest.initializeTests(JUDDITest.java:23)
        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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
        at org.testng.TestRunner.runWorkers(TestRunner.java:712)
        at org.testng.TestRunner.privateRun(TestRunner.java:582)
        at org.testng.TestRunner.run(TestRunner.java:477)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
        at org.testng.SuiteRunner.run(SuiteRunner.java:198)
        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:821)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:788)
        at org.testng.TestNG.run(TestNG.java:708)
        at 
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:74)
        at 
org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        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.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by: org.hibernate.exception.GenericJDBCException: could not insert: 
[org.apache.juddi.model.TmodelDescr]
        at 
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
        at 
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
        at 
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at 
org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
        at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
        at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
        at 
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
        at 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
        at 
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
        at 
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
        at 
org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
        at 
org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
        at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
        at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:609)
        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:601)
        at 
org.hibernate.engine.EJB3CascadingAction$1.cascade(EJB3CascadingAction.java:30)
        at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
        at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
        at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
        at 
org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
        at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
        at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
        at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
        at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
        at 
org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
        at 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334)
        at 
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
        at 
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
        at 
org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
        at 
org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
        at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
        at 
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
        at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
        at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213)
        ... 31 more
Caused by: java.sql.SQLException: Field 'entity_key' doesn't have a default 
value
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
        at 
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
        at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)
        at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)
        at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922)
        at 
org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
        at 
org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
        ... 64 more


Adjust model to meet UDD v3 requirements
----------------------------------------

                Key: JUDDI-145
                URL: https://issues.apache.org/jira/browse/JUDDI-145
            Project: jUDDI
         Issue Type: Task
           Reporter: Jeff Faath
           Assignee: Tom Cunningham
           Priority: Critical
            Fix For: 3.0alpha


The model is missing some key requirements to be compatible with UDDI v3.  Here 
is the list so far:
1)      The "operator" and "authorizedName" properties on BusinessEntity and 
TModel no longer exist in v3 but are in the persistence layer objects.
2)      CategoryBags now allow one to group KeyedReference groups in a 
KeyedReferenceGroup structure which refers to a TModel.  There is no way to 
persist this structure in the model.
3)      The Tmodel entity in the persistence layer seems incorrect.  There's no 
reference to an OverviewDoc and in fact in v3, there should be a collection of 
OverviewDocs.  There's a TmodelOverview class, but I don't see it referenced 
anywhere.  I also see a collection of TmodelDocDescr, which is presumably the  
OverviewDoc descriptions?  Anyway, I think some work needs to be done here.
4)      Contacts allow a collection of personNames in v3 as opposed to just the 
one provided by the model.


Reply via email to