-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Hibernate sets key column to null rather than deleting
PostPosted: Fri Mar 14, 2008 5:55 pm 
Beginner
Beginner

Joined: Thu Aug 17, 2006 12:44 pm
Posts: 22
Location: Ohio
I have a one to many collection. It has to be one to many because there are some fields on the child record.

When I remove (delete) one of the associated services from the set, Hibernate attempts to set the key column to null rather than delete the row.

I am only testing this on the ProviderServices relationship at the moment. I wanted to try to get this working before move on.

TIA.

Mike


Hibernate version: 3.1

Mapping documents:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!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 Persistence Tools
-->
<hibernate-mapping>
    <class name="com.kayenta.hibernate.providers.Providers" table="providers">
        <id name="providerId" type="java.lang.Integer">
            <column name="provider_id" />
            <generator class="increment" />
        </id>
        <property name="isactive" type="java.lang.Short">
            <column name="isactive" />
        </property>
        <property name="joinDate" type="java.util.Date">
            <column name="join_date" />
        </property>
        <property name="joinDateOrig" type="java.lang.Long">
           <column name="join_date_orig"/>
        </property>
        <property name="lastName" type="java.lang.String">
            <column name="last_name" length="30" />
        </property>
        <property name="firstName" type="java.lang.String">
            <column name="first_name" length="30" />
        </property>
        <property name="displayName" type="java.lang.String">
            <column name="display_name" length="30" />
        </property>
        <property name="child" type="java.lang.Short">
            <column name="child" />
        </property>
        <property name="adolescent" type="java.lang.Short">
            <column name="adolescent" />
        </property>
        <property name="adult" type="java.lang.Short">
            <column name="adult" />
        </property>
        <property name="geriatric" type="java.lang.Short">
            <column name="geriatric" />
        </property>
        <property name="description" type="java.lang.String">
            <column name="description" length="16277215" />
        </property>
        <property name="contract" type="java.lang.String">
            <column name="contract" length="16277215" />
        </property>
       
        <set name="insurances" table="provider_insurances" cascade="all-delete-orphan" lazy="false">
           <key column="provider_id"/>
           <many-to-many column="insurance_id"
                      class="com.kayenta.hibernate.insurance.Insurances"/>
        </set>
       
        <set name="licenses" table="provider_licenses" cascade="all-delete-orphan" lazy="false">
           <key column="provider_id"/>
           <many-to-many column="license_id"
                      class="com.kayenta.hibernate.licenses.Licenses"/>
        </set>
       
        <set name="locations" table="provider_locations" lazy="false" cascade="all-delete-orphan">
           <key column="provider_id"/>
           <one-to-many class="com.kayenta.hibernate.providerlocations.ProviderLocations"/>
        </set>       
       
        <set name="providerServices" table="provider_services" lazy="false" cascade="all-delete-orphan">
           <key column="provider_id" />
         <one-to-many  class="com.kayenta.hibernate.providerservices.ProviderServices"/>           
        </set>
       
        <set name="languages" table="provider_languages" cascade="all-delete-orphan" lazy="false">
           <key column="provider_id"/>
           <many-to-many column="languages_id"
                      class="com.kayenta.hibernate.languages.Languages"/>
        </set>
       
        <set name="users" table="provider_users" cascade="all-delete-orphan" lazy="false">
           <key column="provider_id"/>
         <many-to-many column="user_name"
                    class="com.kayenta.hibernate.users.Users"/>
        </set>
   
       
    </class>
</hibernate-mapping>



Code between sessionFactory.openSession() and session.close():
Code:
provider.getProviderServices().remove(providerService)
ProvidersDAO pDAO = new ProvidersDAO();       
Transaction txn = pDAO.getSession().beginTransaction();
pDAO.attachDirty(provider);
txn.commit();
       
pDAO.getSession().close();   



Full stack trace of any exception that occurs:
Code:
17:17:56,406  WARN JDBCExceptionReporter:71 - SQL Error: 1263, SQLState: 22004
17:17:56,409 ERROR JDBCExceptionReporter:72 - Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
17:17:56,422 ERROR AbstractFlushingEventListener:300 - Could not synchronize database state with session
org.hibernate.exception.DataException: Could not execute JDBC batch update
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
   at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
   at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
   at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
   at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
   at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
   at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
   at wellnessnetwork.website.backing.edit_provider.updateProvider(edit_provider.java:328)
   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.el.parser.AstValue.invoke(AstValue.java:131)
   at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
   at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
   at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
   at javax.faces.component.UICommand.broadcast(UICommand.java:383)
   at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
   at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
   at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
   at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
   at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
   at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:822)
   at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
   at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
   at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
   ... 45 more
Mar 14, 2008 5:17:56 PM com.sun.faces.application.ActionListenerImpl processAction
SEVERE: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
javax.faces.el.EvaluationException: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:97)
   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
   at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
   at javax.faces.component.UICommand.broadcast(UICommand.java:383)
   at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
   at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
   at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
   at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
   at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
   at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:822)
   at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
   at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
   at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
   at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
   at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
   at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
   at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
   at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
   at wellnessnetwork.website.backing.edit_provider.updateProvider(edit_provider.java:328)
   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.el.parser.AstValue.invoke(AstValue.java:131)
   at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
   at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
   ... 29 more
Mar 14, 2008 5:17:56 PM org.apache.catalina.core.ApplicationContext log
SEVERE: #{edit_provider.updateProvider}: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
javax.faces.FacesException: #{edit_provider.updateProvider}: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
   at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
   at javax.faces.component.UICommand.broadcast(UICommand.java:383)
   at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
   at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
   at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
   at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
   at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
   at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.el.EvaluationException: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:97)
   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
   ... 28 more
Caused by: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
   at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:822)
   at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
   at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
   at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
   at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
   at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
   at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
   at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
   at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
   at wellnessnetwork.website.backing.edit_provider.updateProvider(edit_provider.java:328)
   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.el.parser.AstValue.invoke(AstValue.java:131)
   at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
   at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
   ... 29 more
Hibernate: select servicecat0_.service_catagory_id as service1_1_, servicecat0_.en_service_catagory as en2_1_, servicecat0_.en_description as en3_1_, servicecat0_.es_service_catagory as es4_1_, servicecat0_.es_description as es5_1_ from service_catagories servicecat0_ order by servicecat0_.en_service_catagory
Hibernate: select providerim0_.provider_id as provider1_25_0_, providerim0_.provider_image as provider2_25_0_, providerim0_.provider_image_type as provider3_25_0_ from provider_image providerim0_ where providerim0_.provider_id=?
Mar 14, 2008 5:17:56 PM com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: phase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1b9b03) threw exception: com.sun.rave.web.ui.appbase.ApplicationException: #{edit_provider.updateProvider}: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1 #{edit_provider.updateProvider}: java.sql.BatchUpdateException: Column was set to data type implicit default; NULL supplied for NOT NULL column 'provider_id' at row 1
com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:559)
com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.afterPhase(ViewHandlerImpl.java:435)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)


Name and version of the database you are using: - MySQL 5.1

The generated SQL (show_sql=true):
Code:
Hibernate: select servicecat0_.service_catagory_id as service1_1_, servicecat0_.en_service_catagory as en2_1_, servicecat0_.en_description as en3_1_, servicecat0_.es_service_catagory as es4_1_, servicecat0_.es_description as es5_1_ from service_catagories servicecat0_ order by servicecat0_.en_service_catagory
Hibernate: select providerim0_.provider_id as provider1_25_0_, providerim0_.provider_image as provider2_25_0_, providerim0_.provider_image_type as provider3_25_0_ from provider_image providerim0_ where providerim0_.provider_id=?
Hibernate: select providerim0_.provider_id as provider1_25_0_, providerim0_.provider_image as provider2_25_0_, providerim0_.provider_image_type as provider3_25_0_ from provider_image providerim0_ where providerim0_.provider_id=?
Hibernate: select providerim0_.provider_id as provider1_25_0_, providerim0_.provider_image as provider2_25_0_, providerim0_.provider_image_type as provider3_25_0_ from provider_image providerim0_ where providerim0_.provider_id=?
Hibernate: select users_.user_name, users_.user_pass as user2_5_ from users users_ where users_.user_name=?
Hibernate: select providerse_.provider_id, providerse_.service_id, providerse_.initial_charge as initial3_3_, providerse_.initial_treatment as initial4_3_, providerse_.followup_visit as followup5_3_ from provider_services providerse_ where providerse_.provider_id=? and providerse_.service_id=?
Hibernate: select providerse_.provider_id, providerse_.service_id, providerse_.initial_charge as initial3_3_, providerse_.initial_treatment as initial4_3_, providerse_.followup_visit as followup5_3_ from provider_services providerse_ where providerse_.provider_id=? and providerse_.service_id=?
Hibernate: update insurances set insurance_name=?, company=?, policy_number=?, exp_date=?, exp_date_orig=?, disciplin_action=?, error_or_ommision=?, claim_filed=?, disciplin_action_explain=?, error_or_ommision_explain=?, claim_filed_explained=? where insurance_id=?
Hibernate: update licenses set license=?, description=?, state_issued=?, date_issued=?, expiration_date=?, date_issued_orig=?, expiration_date_orig=?, license_number=? where license_id=?
Hibernate: update languages set language=?, description=?, language_code=? where language_id=?
Hibernate: update languages set language=?, description=?, language_code=? where language_id=?
Hibernate: select providerse_.provider_id, providerse_.service_id, providerse_.initial_charge as initial3_3_, providerse_.initial_treatment as initial4_3_, providerse_.followup_visit as followup5_3_ from provider_services providerse_ where providerse_.provider_id=? and providerse_.service_id=?
Hibernate: select providerse_.provider_id, providerse_.service_id, providerse_.initial_charge as initial3_3_, providerse_.initial_treatment as initial4_3_, providerse_.followup_visit as followup5_3_ from provider_services providerse_ where providerse_.provider_id=? and providerse_.service_id=?
Hibernate: select users_.user_name, users_.user_pass as user2_5_ from users users_ where users_.user_name=?
Hibernate: update providers set isactive=?, join_date=?, join_date_orig=?, last_name=?, first_name=?, display_name=?, child=?, adolescent=?, adult=?, geriatric=?, description=?, contract=? where provider_id=?
Hibernate: update insurances set insurance_name=?, company=?, policy_number=?, exp_date=?, exp_date_orig=?, disciplin_action=?, error_or_ommision=?, claim_filed=?, disciplin_action_explain=?, error_or_ommision_explain=?, claim_filed_explained=? where insurance_id=?
Hibernate: update licenses set license=?, description=?, state_issued=?, date_issued=?, expiration_date=?, date_issued_orig=?, expiration_date_orig=?, license_number=? where license_id=?
Hibernate: update provider_locations set provider_id=?, phone_id=?, address_id=?, email_id=?, url=?, practice_desc=?, handycap=?, public_transportation=? where location_id=?
Hibernate: update phones set phone=?, phone_type=? where phone_id=?
Hibernate: update addresses set address1=?, address2=?, city=?, state=?, zip=?, address_type=? where address_id=?
Hibernate: update emails set email=?, email_type=? where email_id=?
Hibernate: update languages set language=?, description=?, language_code=? where language_id=?
Hibernate: update languages set language=?, description=?, language_code=? where language_id=?
Hibernate: update provider_services set provider_id=null where provider_id=? and provider_id=? and service_id=?



Top
 Profile  
 
 Post subject:
PostPosted: Mon Apr 07, 2008 5:51 pm 
Newbie

Joined: Mon Apr 07, 2008 2:00 pm
Posts: 3
I was looking into this issue as well and found the following solution from another post: In the key column that is being updated to null, add 'not-null="true"'

http://forum.hibernate.org/viewtopic.php?t=960878&highlight=cascade+delete

I'm actually using annotations, so my solution was to set the JoinColumn property 'updatable=false'.

Hope that helps,
Li


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.