FmoReorgGeo.java
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name="fmo_reorg_geos")
public class FmoReorgGeo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
private Integer ID;
@Column(name="F_AOI", nullable = false)
private String fAoi;
@Column(name="F_AG", nullable = false)
private String fAg;
@Column(name="F_RA", nullable = false)
private String fRa;
@Column(name="T_AOI", nullable = false)
private String tAoi;
@Column(name="T_AG", nullable = false)
private String tAg;
@Column(name="T_RA", nullable = false)
private String tRa;
@Column(name="CLLI", nullable = false)
private String clli;
@Column(name="TURF", nullable = false)
private String turf;
@Column(name="REGION", nullable = false)
private String region;
@Column(name="F_AOI_RID")
private String fAoiRid;
@Column(name="F_AG_RID")
private String fAgRid;
@Column(name="F_RA_RID")
private String fRaRid;
@Column(name="T_AOI_RID")
private String tAoiRid;
@Column(name="T_AG_RID")
private String tAgRid;
@Column(name="T_RA_RID")
private String tRaRid;
@Column(name="REORG_DT")
private Date reorgDt;
public Integer getID() {
return ID;
}
public void setID(Integer iD) {
ID = iD;
}
public String getfAoi() {
return fAoi;
}
public void setfAoi(String fAoi) {
this.fAoi = fAoi;
}
public String getfAg() {
return fAg;
}
public void setfAg(String fAg) {
this.fAg = fAg;
}
public String getfRa() {
return fRa;
}
public void setfRa(String fRa) {
this.fRa = fRa;
}
public String gettAoi() {
return tAoi;
}
public void settAoi(String tAoi) {
this.tAoi = tAoi;
}
public String gettAg() {
return tAg;
}
public void settAg(String tAg) {
this.tAg = tAg;
}
public String gettRa() {
return tRa;
}
public void settRa(String tRa) {
this.tRa = tRa;
}
public String getClli() {
return clli;
}
public void setClli(String clli) {
this.clli = clli;
}
public String getTurf() {
return turf;
}
public void setTurf(String turf) {
this.turf = turf;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getfAoiRid() {
return fAoiRid;
}
public void setfAoiRid(String fAoiRid) {
this.fAoiRid = fAoiRid;
}
public String getfAgRid() {
return fAgRid;
}
public void setfAgRid(String fAgRid) {
this.fAgRid = fAgRid;
}
public String getfRaRid() {
return fRaRid;
}
public void setfRaRid(String fRaRid) {
this.fRaRid = fRaRid;
}
public String gettAoiRid() {
return tAoiRid;
}
public void settAoiRid(String tAoiRid) {
this.tAoiRid = tAoiRid;
}
public String gettAgRid() {
return tAgRid;
}
public void settAgRid(String tAgRid) {
this.tAgRid = tAgRid;
}
public String gettRaRid() {
return tRaRid;
}
public void settRaRid(String tRaRid) {
this.tRaRid = tRaRid;
}
public Date getReorgDt() {
return reorgDt;
}
public void setReorgDt(Date reorgDt) {
this.reorgDt = reorgDt;
}
@Override
public String toString() {
return "FmoReorgGeo [ID=" ID ", fAoi=" fAoi ", fAg=" fAg ", fRa=" fRa ", tAoi=" tAoi
", tAg=" tAg ", tRa=" tRa ", clli=" clli ", turf=" turf ", region=" region
", fAoiRid=" fAoiRid ", fAgRid=" fAgRid ", fRaRid=" fRaRid ", tAoiRid=" tAoiRid
", tAgRid=" tAgRid ", tRaRid=" tRaRid ", reorgDt=" reorgDt "]";
}
}
FMOReorgGeoServiceImpl.java
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import com.att.dmp.entity.FmoReorgGeo;
import com.att.dmp.repository.FMOReorgGeoRepository;
import com.att.dmp.service.FMOReorgGeoService;
@Service
@Qualifier("fMOReorgGeoServiceImpl")
public class FMOReorgGeoServiceImpl implements FMOReorgGeoService {
private final Logger logger = LogManager.getLogger(FMOReorgGeoServiceImpl.class);
@Autowired
FMOReorgGeoRepository fMOReorgGeoRepository;
@Override
public List<FmoReorgGeo> updateResourceHierachyRID(String region, Date reorgDt) {
List<Map<String, Object>> reorgRecords = Collections.emptyList();
reorgRecords = fMOReorgGeoRepository.findreorgRecords(region, reorgDt);
reorgRecords.forEach(map -> map.forEach((k, v) -> {
logger.info(k ":" v);
}));
List<Map<String, Object>> updatedResourceHierachyRids = Collections.emptyList();
for (Map<String, Object> reorgRecord : reorgRecords) {
String f_aoi_rid = (String) reorgRecord.get("FAOIRID");
String f_ag_rid = (String) reorgRecord.get("FAGRID");
String f_ra_rid = (String) reorgRecord.get("FRARID");
String t_aoi_rid = (String) reorgRecord.get("TAOIRID");
String t_ag_rid = (String) reorgRecord.get("TAGRID");
String t_ra_rid = (String) reorgRecord.get("TRARID");
String clli = (String) reorgRecord.get("CLLI");
String turf = (String) reorgRecord.get("TURF");
updatedResourceHierachyRids = fMOReorgGeoRepository.updateRid(f_aoi_rid, f_ag_rid, f_ra_rid,t_aoi_rid, t_ag_rid,
t_ra_rid, clli, turf);
}
List<FmoReorgGeo> updatedFMOReorgGeos = new ArrayList<FmoReorgGeo>();
if (!updatedResourceHierachyRids.isEmpty()) {
for (Map<String, Object> updatedResourceHierachyRid :
updatedResourceHierachyRids) { FmoReorgGeo rh = new FmoReorgGeo();
rh.setfAoiRid((String) updatedResourceHierachyRid.get("F_AOI_RID"));
rh.setfAgRid((String) updatedResourceHierachyRid.get("F_AG_RID"));
rh.setfRaRid((String) updatedResourceHierachyRid.get("F_RA_RID"));
rh.settAoiRid((String) updatedResourceHierachyRid.get("T_AOI_RID"));
rh.settAgRid((String) updatedResourceHierachyRid.get("T_AG_RID"));
rh.settRaRid((String) updatedResourceHierachyRid.get("T_RA_RID"));
rh.setClli((String) updatedResourceHierachyRid.get("CLLI"));
rh.setTurf((String) updatedResourceHierachyRid.get("TURF"));
updatedFMOReorgGeos.add(rh); }
}
logger.info("Created updatedFMOReorgGeos are: {}", updatedFMOReorgGeos);
return updatedFMOReorgGeos;
}
}
FMOReorgGeoRepository.java
import java.sql.Date;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.att.dmp.consts.AppConstant;
import com.att.dmp.entity.FmoReorgGeo;
@Repository
public interface FMOReorgGeoRepository extends JpaRepository<FmoReorgGeo, Integer> {
@Query(value = AppConstant.SELECT_REORG_RECORDS_QUERY,nativeQuery = true)
List<Map<String, Object>> findreorgRecords(@Param("region") String region,@Param("reorgDt") Date reorgDt);
@Modifying
@Query(value = AppConstant.UPDATE_RESOURCE_HIERACHY_RID,nativeQuery = true)
List<Map<String, Object>> updateRid(@Param("F_AOI_RID") String f_aoi_rid,@Param("F_AG_RID") String f_ag_rid,@Param("F_RA_RID") String f_ra_rid,@Param("T_AOI_RID") String t_aoi_rid,@Param("T_AG_RID") String t_ag_rid,@Param("T_RA_RID") String t_ra_rid,@Param("CLLI") String clli,@Param("TURF") String turf);
}
ERROR LOG
Hibernate: update FMO_REORG_GEOS set F_AOI_RID = ?, F_AG_RID = ?, F_RA_RID = ?, T_AOI_RID= ?,T_AG_RID = ?,T_RA_RID = ? where CLLI = ? and TURF = ?
{"logType":"DEBUG","logLevel":"ERROR","logTimestamp":"2021-09-19T16:43:56.942-05:00","logger":"com.att.dmp.RestExceptionMapper","label":"Caught Exception in Jersey Service.....","runtime":{"instance":"unknown","clusterName":"unknown","namespace":"unknown","image":"unknown","platformIdentifier":"AJSC7_JERSEY"},"application":{"deploymentUnitName":"com.att.dmp.ReorgResourceCreatorMs","motsApplicationAcronym":"MOTS_ID"}}
{"logType":"EXCEPTION","logLevel":"ERROR","logTimestamp":"2021-09-19T16:43:56.945-05:00","logger":"Exception","label":"Exception","runtime":{"instance":"unknown","clusterName":"unknown","namespace":"unknown","image":"unknown","platformIdentifier":"AJSC7_JERSEY"},"application":{"deploymentUnitName":"com.att.dmp.ReorgResourceCreatorMs","motsApplicationAcronym":"MOTS_ID"},"exception":{"exceptionDetails":"Could not extract result set metadata; nested exception is org.hibernate.HibernateException: Could not extract result set metadata","stackTrace":"org.springframework.orm.jpa.JpaSystemException: Could not extract result set metadata; nested exception is org.hibernate.HibernateException: Could not extract result set metadata\r\n\tat org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:353)\r\n\tat org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:255)\r\n\tat org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)\r\n\tat org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)\r\n\tat org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)\r\n\tat org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:149)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)\r\n\tat com.sun.proxy.$Proxy246.updateRid(Unknown Source)\r\n\tat com.att.dmp.service.impl.FMOReorgGeoServiceImpl.updateResourceHierachyRID(FMOReorgGeoServiceImpl.java:45)\r\n\tat com.att.dmp.controller.RestControllerImpl.updateRID(RestControllerImpl.java:217)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)\r\n\tat org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)\r\n\tat org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)\r\n\tat org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:159)\r\n\tat org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)\r\n\tat org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)\r\n\tat org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)\r\n\tat org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)\r\n\tat org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)\r\n\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)\r\n\tat org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)\r\n\tat org.glassfish.jersey.internal.Errors.process(Errors.java:292)\r\n\tat org.glassfish.jersey.internal.Errors.process(Errors.java:274)\r\n\tat org.glassfish.jersey.internal.Errors.process(Errors.java:244)\r\n\tat org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)\r\n\tat org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)\r\n\tat org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)\r\n\tat org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392)\r\n\tat org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)\r\n\tat org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)\r\n\tat org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)\r\n\tat org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.hibernate.HibernateException: Could not extract result set metadata\r\n\tat org.hibernate.loader.custom.JdbcResultMetadata.<init>(JdbcResultMetadata.java:36)\r\n\tat org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:488)\r\n\tat org.hibernate.loader.Loader.processResultSet(Loader.java:2338)\r\n\tat org.hibernate.loader.Loader.getResultSet(Loader.java:2294)\r\n\tat org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2050)\r\n\tat org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2012)\r\n\tat org.hibernate.loader.Loader.doQuery(Loader.java:953)\r\n\tat org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)\r\n\tat org.hibernate.loader.Loader.doList(Loader.java:2815)\r\n\tat org.hibernate.loader.Loader.doList(Loader.java:2797)\r\n\tat org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2629)\r\n\tat org.hibernate.loader.Loader.list(Loader.java:2624)\r\n\tat org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:338)\r\n\tat org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:2123)\r\n\tat org.hibernate.internal.AbstractSharedSessionContract.list(AbstractSharedSessionContract.java:1134)\r\n\tat org.hibernate.query.internal.NativeQueryImpl.doList(NativeQueryImpl.java:173)\r\n\tat org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1526)\r\n\tat org.hibernate.query.Query.getResultList(Query.java:165)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:409)\r\n\tat com.sun.proxy.$Proxy250.getResultList(Unknown Source)\r\n\tat org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126)\r\n\tat org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88)\r\n\tat org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:154)\r\n\tat org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:142)\r\n\tat org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:618)\r\n\tat org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:605)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)\r\n\t... 72 more\r\nCaused by: java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement\n\r\n\tat oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)\r\n\tat oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)\r\n\tat oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381)\r\n\tat oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:564)\r\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)\r\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)\r\n\tat oracle.jdbc.driver.T4C8Odscrarr.doODNY(T4C8Odscrarr.java:98)\r\n\tat oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:792)\r\n\tat oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:3928)\r\n\tat oracle.jdbc.driver.OracleResultSetMetaData.<init>(OracleResultSetMetaData.java:56)\r\n\tat oracle.jdbc.driver.OracleResultSetImpl.getMetaData(OracleResultSetImpl.java:170)\r\n\tat org.apache.commons.dbcp2.DelegatingResultSet.getMetaData(DelegatingResultSet.java:347)\r\n\tat org.apache.commons.dbcp2.DelegatingResultSet.getMetaData(DelegatingResultSet.java:347)\r\n\tat org.hibernate.loader.custom.JdbcResultMetadata.<init>(JdbcResultMetadata.java:33)\r\n\t... 108 more\r\n"}}
*I am trying to fetch data from reorgViewX and then updating FmoReorgGeo table. I am being able to fetch data correctly but when running update query I am getting error. The error says: Could not extract result set metadata; nested exception is org.hibernate.HibernateException: Could not extract result set metadata. I am using the concept of <Map<String, Object>> since hibernate does not allow fetching certain columns only and it needs to have all columns while fetching. *
CodePudding user response:
An update query like this doesn't return a result set. Remove the return type:
@Modifying
@Query(value = AppConstant.UPDATE_RESOURCE_HIERACHY_RID,nativeQuery = true)
void updateRid(@Param("F_AOI_RID") String f_aoi_rid,@Param("F_AG_RID") String f_ag_rid,@Param("F_RA_RID") String f_ra_rid,@Param("T_AOI_RID") String t_aoi_rid,@Param("T_AG_RID") String t_ag_rid,@Param("T_RA_RID") String t_ra_rid,@Param("CLLI") String clli,@Param("TURF") String turf);