java - More than one row with the given identifier was found: 1, for class: com.model.Diagnosis -
below model, service implementation , error trace of code.
model class:
@entity @table(name = "ph_diagnosis_history") @jsonidentityinfo(generator = objectidgenerators.propertygenerator.class, property = "id",scope=diagnosis.class) public class diagnosis extends abstractentity { @column(name = "diagnosis_notes", length=255) @length(max = 255, message = iprprop.max_len_255_msg) private string diagnosisnote; @enumerated(enumtype.string) private diagnosistypeenum type; @temporal(temporaltype.date) @column(name = "diagnosis_date") @jsonserialize(using = jsondateserializer.class) private date diagnosisdate; @manytoone @joincolumn(name = "patient_chart_id") private patientchart patientchart; public string getdiagnosisnote() { return diagnosisnote; } public void setdiagnosisnote(string diagnosisnote) { this.diagnosisnote = diagnosisnote; } public diagnosistypeenum gettype() { return type; } public void settype(diagnosistypeenum type) { this.type = type; } public date getdiagnosisdate() { return diagnosisdate; } public void setdiagnosisdate(date diagnosisdate) { this.diagnosisdate = diagnosisdate; } public patientchart getpatientchart() { return patientchart; } public void setpatientchart(patientchart patientchart) { this.patientchart = patientchart; } }
my service:
public diagnosis updatediagnosis(iprdto clientdto, long userid, long patientchartid, diagnosisdto diagnosisdto, long diagnosisid) throws exception { diagnosis diagnosis = diagnosisrepository.findone(diagnosisid); if (diagnosis!=null){ if(diagnosis.gettype().equals(diagnosistypeenum.working)){ beancopyutil.copyproperties(diagnosisdto, diagnosis, true); return this.diagnosisrepository.saveandflush(diagnosis); } else{ throw new businessexception("updatediagnosisvalidation"); } } throw new businessexception("nodiagnosis"); }
my stack trace:
[2014-09-08 11:34:08,148] info com.zurelsoft.ipr.service.idiagnosisservice- logged in user id [1]:started updatediagnosis diagnosis id 2 [2014-09-08 11:34:08,969] info org.hibernate.event.internal.defaultloadeventlistener- hhh000327: error performing load command : org.hibernate.hibernateexception: more 1 row given identifier found: 2, class: com.zurelsoft.ipr.model.diagnosis [2014-09-08 11:34:09,001] error com.zurelsoft.ipr.service.idiagnosisservice- logged in user id [1]:error occurred updatediagnosis org.springframework.orm.jpa.jpasystemexception: org.hibernate.hibernateexception: more 1 row given identifier found: 2, class: com.zurelsoft.ipr.model.diagnosis; nested exception javax.persistence.persistenceexception: org.hibernate.hibernateexception: more 1 row given identifier found: 2, class: com.zurelsoft.ipr.model.diagnosis [2014-09-08 11:34:09,006] error com.zurelsoft.ipr.client.diagnosiswebservice- org.springframework.orm.jpa.entitymanagerfactoryutils.convertjpaaccessexceptionifpossible(entitymanagerfactoryutils.java:321) org.springframework.orm.jpa.abstractentitymanagerfactorybean.translateexceptionifpossible(abstractentitymanagerfactorybean.java:403) org.springframework.dao.support.chainedpersistenceexceptiontranslator.translateexceptionifpossible(chainedpersistenceexceptiontranslator.java:58) org.springframework.dao.support.dataaccessutils.translateifnecessary(dataaccessutils.java:213) org.springframework.dao.support.persistenceexceptiontranslationinterceptor.invoke(persistenceexceptiontranslationinterceptor.java:163) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:204) com.sun.proxy.$proxy85.findone(unknown source) com.zurelsoft.ipr.service.impl.diagnosisserviceimpl.updatediagnosis(diagnosisserviceimpl.java:76) sun.reflect.nativemethodaccessorimpl.invoke0(native method) sun.reflect.nativemethodaccessorimpl.invoke(unknown source) sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) java.lang.reflect.method.invoke(unknown source) org.springframework.aop.support.aoputils.invokejoinpointusingreflection(aoputils.java:317) org.springframework.aop.framework.reflectivemethodinvocation.invokejoinpoint(reflectivemethodinvocation.java:183) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:150) org.springframework.aop.framework.adapter.methodbeforeadviceinterceptor.invoke(methodbeforeadviceinterceptor.java:51) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) org.springframework.aop.framework.adapter.afterreturningadviceinterceptor.invoke(afterreturningadviceinterceptor.java:51) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) org.springframework.aop.aspectj.aspectjafterthrowingadvice.invoke(aspectjafterthrowingadvice.java:55) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) org.springframework.aop.interceptor.exposeinvocationinterceptor.invoke(exposeinvocationinterceptor.java:91) org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:204) com.sun.proxy.$proxy86.updatediagnosis(unknown source) com.zurelsoft.ipr.client.diagnosiswebservice.updatediagnosis(diagnosiswebservice.java:98) sun.reflect.nativemethodaccessorimpl.invoke0(native method) sun.reflect.nativemethodaccessorimpl.invoke(unknown source) sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) java.lang.reflect.method.invoke(unknown source) org.springframework.web.method.support.invocablehandlermethod.invoke(invocablehandlermethod.java:219) org.springframework.web.method.support.invocablehandlermethod.invokeforrequest(invocablehandlermethod.java:132) org.springframework.web.servlet.mvc.method.annotation.servletinvocablehandlermethod.invokeandhandle(servletinvocablehandlermethod.java:104) org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.invokehandlemethod(requestmappinghandleradapter.java:745) org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.handleinternal(requestmappinghandleradapter.java:686) org.springframework.web.servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter.java:80) org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:925) org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:856) org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:936) org.springframework.web.servlet.frameworkservlet.doput(frameworkservlet.java:849) javax.servlet.http.httpservlet.service(httpservlet.java:644) org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:812) javax.servlet.http.httpservlet.service(httpservlet.java:722) org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:929) org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1002) org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:585) org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) java.util.concurrent.threadpoolexecutor.runworker(unknown source) java.util.concurrent.threadpoolexecutor$worker.run(unknown source) java.lang.thread.run(unknown source)
i hibernateexception in line alhough table has 2 rows same id.
diagnosis diagnosis = diagnosisrepository.findone(diagnosisid);
please me mistake. can probable error in code.
hy, woks me:
seems have 2 choices: either cascade , delete orphan on one-to-one relationship, or explicitly call repository class , save original sheet every time remove relationship plate. opted first choice , added plate class: @onetoone(mappedby = "plate", cascade = cascadetype.all, orphanremoval = true)
Comments
Post a Comment