Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work #19

Open
swapniltake1 opened this issue Apr 20, 2023 · 0 comments

Comments

@swapniltake1
Copy link

Error :
`org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
javax.servlet.http.HttpServlet.service(HttpServlet.java:696)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

org.springframework.dao.InvalidDataAccessResourceUsageException: error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work
org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:231)
org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:388)
org.springframework.orm.hibernate5.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:351)
org.springframework.orm.hibernate5.HibernateTemplate.save(HibernateTemplate.java:638)
com.spring.mvc.dao.UserDao.saveUser(UserDao.java:19)
com.spring.mvc.dao.UserDao$$FastClassBySpringCGLIB$$93bc7663.invoke()
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
com.spring.mvc.dao.UserDao$$EnhancerBySpringCGLIB$$5a45b7fb.saveUser()
com.spring.mvc.service.UserService.createUser(UserService.java:17)
com.spring.mvc.ContactController.processForm(ContactController.java:39)
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
java.base/java.lang.reflect.Method.invoke(Method.java:577)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
javax.servlet.http.HttpServlet.service(HttpServlet.java:696)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)`

my Code :

`package com.spring.mvc.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@entity
public class User {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

public int getId() {
	return id;
}
public void setId(int id) {
	this.id = id;
}
private String userEmail;
private String userName;
private String UserPassword;

public String getUserEmail() {
	return userEmail;
}
public void setUserEmail(String userEmail) {
	this.userEmail = userEmail;
}
public String getUserName() {
	return userName;
}
public void setUserName(String userName) {
	this.userName = userName;
}
public String getUserPassword() {
	return UserPassword;
}
public void setUserPassword(String userPassword) {
	UserPassword = userPassword;
}

}
`

`package com.spring.mvc.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.spring.mvc.model.User;

@repository
public class UserDao {

@Autowired
private HibernateTemplate hibernateTemplate;

@Transactional
public int saveUser(User user) {
	
int id=	(Integer) this.hibernateTemplate.save(user);
	return id;
	
}

}
`

`package com.spring.mvc.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.spring.mvc.dao.UserDao;
import com.spring.mvc.model.User;

@service
public class UserService {

@Autowired
private UserDao userDao;

public int createUser(User user) {
	return this.userDao.saveUser(user);
}

}
`

`

<tx:annotation-driven />

<!-- viewResolver -->



<context:component-scan
	base-package="com.spring.mvc.service, com.spring.mvc.dao, com.spring.mvc.model, com.spring.mvc" />

<bean
	class="org.springframework.web.servlet.view.InternalResourceViewResolver"
	name="viewResolver">

	<property name="prefix" value="/WEB-INF/views/" />
	<property name="suffix" value=".jsp" />
</bean>

<bean name="ds"
	class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	<property name="driverClassName"
		value="com.mysql.jdbc.Driver" />
	<property name="url"
		value="jdbc:mysql://127.0.0.1:3306/SpringMvc" />
	<property name="username" value="root" />
	<property name="password" value="admin" />
</bean>


<bean
	class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
	name="factory">
	<!-- datasource prop -->
	<property name="dataSource" ref="ds" />
	<!-- hibernate Prop -->
	<property name="hibernateProperties">
		<props>
			<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
			<prop key="hibernate.show_sql">true</prop>
			<prop key="hibernate.hbm2ddl.auto">update</prop>
		</props>
	</property>
	<!-- annoted classes -->
	<property name="annotatedClasses">
		<list>
			<value>
				com.spring.mvc.model.User
			</value>
		</list>
	</property>

</bean>

<bean class="org.springframework.orm.hibernate5.HibernateTemplate"
	name="hibernateTemplate">
	<property name="sessionFactory" ref="factory"></property>
</bean>

<!-- <bean class="com.spring.orm.dao.StudentDao" name="StudentDao">
	<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean> -->

<bean
	class="org.springframework.orm.hibernate5.HibernateTransactionManager"
	name="transactionManager">
	<property name="sessionFactory" ref="factory" />
</bean>

`

`package com.spring.mvc;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.spring.mvc.model.User;
import com.spring.mvc.service.UserService;

@controller
public class ContactController {

@Autowired
private UserService userService;

@ModelAttribute          //automatically data set up for view
public void commmonDataForModel(Model m) {
	m.addAttribute("desc", "Signup for join");
	m.addAttribute("head", "Join Us ");
}

@RequestMapping("/contact")
public String showForm(Model m) {
//	m.addAttribute("header", "Registration Form");
/*
 * m.addAttribute("desc", "Signup for join"); m.addAttribute("head",
 * "Join Us ");
 */
	
	return "contact";
}

@RequestMapping(path = "/processform", method = RequestMethod.POST)
public String processForm(@ModelAttribute("user") User user, Model model) {
	// Modelattribute is setting data automaticaly and returning that value into success.jsp page 
	
	this.userService.createUser(user);
	
	return "success";
}

/*old pattern 
 * @RequestMapping(path = "/processform", method = RequestMethod.POST) public
 * String processForm(@RequestParam("userName") String
 * userName,@RequestParam("userEmail") String
 * userEmail, @RequestParam("userPassword") String userPassword , Model model) {
 * 
 * System.out.println("User Nmae is : "+userName);
 * System.out.println("User Email is : "+userEmail);
 * System.out.println("User Password Is : "+userPassword);
 * 
 * 
 * User user=new User(); user.setUserEmail(userEmail);
 * user.setUserName(userName); user.setUserPassword(userPassword);
 * 
 * 
 * 
 * model.addAttribute("userName", userName); model.addAttribute("userEmail",
 * userEmail); model.addAttribute("userPassword", userPassword);
 * 
 * 
 * // All data set into the class and them sended it into view
 * model.addAttribute("user", user); return "success"; }
 */

}
`

When am running project am facing error Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: error performing isolated work; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: error performing isolated work

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant