I have a not-null property error and I think that there is something wrong with the mapping file but I can't find it.
The mapping is related one-to-many with a Table called component_part_type and it is also related one-to-many with another Table called component_part.
Furthermore our Table component_group is also related many-to-one with the table component_type.
Thank you for any help!
Hibernate version:
2.1.4
Mapping documents:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.nokia.testbed.model.ComponentType" table="component_type">
<id name="idComponentType" type="long" column="id_component_type">
<generator class="sequence">
<param name="sequence">component_type_sequence</param>
</generator>
</id>
<property name="name" column="name" type="string" not-null="true"/>
<property name="displayColor" column="display_color" type="string" not-null="true"/>
<property name="description" column="description" type="string"/>
<property name="otherConnectivity" column="has_other_connectivity" type="int"/>
<set name="component" inverse="true">
<key column="id_component_type"/>
<one-to-many class="com.nokia.testbed.model.Component"/>
</set>
<set name="componentGroup" inverse="true">
<key column="id_component_type"/>
<one-to-many class="com.nokia.testbed.model.ComponentGroup"/>
</set>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():... has no errors ...
Full stack trace of any exception that occurs:Code:
Hibernate: select component_group_sequence.nextval from dual
net.sf.hibernate.PropertyValueException: not-null property references a null or transient value: com.nokia.testbed.model.Compon
entGroup.componentType
at net.sf.hibernate.impl.SessionImpl.checkNullability(SessionImpl.java:1276)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:928)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:857)
at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:779)
at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:738)
at com.nokia.testbed.model.dbExecutor.insertComponentGroup(dbExecutor.java:248)
at com.nokia.testbed.web.ComponentGroupAction.execute(ComponentGroupAction.java:60)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
Name and version of the database you are using:Oracle 8.1
Code:
[b]Debug level Hibernate log excerpt:[/b]
2004-08-11 07:53:43,235|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||opened session
2004-08-11 07:53:43,242|Thread-5|DEBUG|net.sf.hibernate.transaction.JDBCTransaction||begin
2004-08-11 07:53:43,243|Thread-5|DEBUG|net.sf.hibernate.connection.DriverManagerConnectionProvider||total checked-out connectio
ns: 0
2004-08-11 07:53:43,243|Thread-5|DEBUG|net.sf.hibernate.connection.DriverManagerConnectionProvider||using pooled JDBC connectio
n, pool size: 0
2004-08-11 07:53:43,244|Thread-5|DEBUG|net.sf.hibernate.transaction.JDBCTransaction||current autocommit status:false
2004-08-11 07:53:43,244|Thread-5|INFO |com.nokia.testbed.model.dbExecutor||#################### vor session.save() - insertComp
onentType ################ berni 5
2004-08-11 07:53:43,251|Thread-5|DEBUG|net.sf.hibernate.impl.BatcherImpl||about to open: 0 open PreparedStatements, 0 open Resu
ltSets
2004-08-11 07:53:43,252|Thread-5|DEBUG|net.sf.hibernate.SQL||select component_group_sequence.nextval from dual
2004-08-11 07:53:43,252|Thread-5|DEBUG|net.sf.hibernate.impl.BatcherImpl||preparing statement
2004-08-11 07:53:43,699|Thread-5|DEBUG|net.sf.hibernate.id.SequenceGenerator||Sequence identifier generated: 41
2004-08-11 07:53:43,700|Thread-5|DEBUG|net.sf.hibernate.impl.BatcherImpl||done closing: 0 open PreparedStatements, 0 open Resul
tSets
2004-08-11 07:53:43,700|Thread-5|DEBUG|net.sf.hibernate.impl.BatcherImpl||closing statement
2004-08-11 07:53:43,701|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||generated identifier: 41
2004-08-11 07:53:43,706|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||saving [com.nokia.testbed.model.ComponentGroup#41]
2004-08-11 07:53:43,740|Thread-5|DEBUG|net.sf.hibernate.transaction.JDBCTransaction||rollback
2004-08-11 07:53:43,741|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||transaction completion
2004-08-11 07:53:43,761|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||closing session
2004-08-11 07:53:43,762|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||disconnecting session
2004-08-11 07:53:43,768|Thread-5|DEBUG|net.sf.hibernate.connection.DriverManagerConnectionProvider||returning connection to poo
l, pool size: 1
2004-08-11 07:53:43,768|Thread-5|DEBUG|net.sf.hibernate.impl.SessionImpl||transaction completion
2004-08-11 07:53:43,769|Thread-5|DEBUG|org.apache.struts.tiles.TilesRequestProcessor||processForwardConfig(/WEB-INF/jsp/admin.j
sp, false)
2004-08-11 07:53:43,769|Thread-5|DEBUG|org.apache.struts.tiles.TilesRequestProcessor|| '/WEB-INF/jsp/admin.jsp' - processed as
uri
2004-08-11 07:53:43,770|Thread-5|DEBUG|org.apache.struts.action.RequestProcessor||processForwardConfig(ForwardConfig[name=succe
ss,path=/WEB-INF/jsp/admin.jsp,redirect=false,contextRelative=false])