Guest User

Untitled

a guest
Aug 1st, 2018
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.58 KB | None | 0 0
  1. @Controller
  2. public class LoginController {
  3. @Autowired
  4. private UserService userService;
  5.  
  6. @GetMapping("/login")
  7. public String showLoginPage() {
  8. return "login";
  9. }
  10.  
  11. @GetMapping("/register")
  12. public ModelAndView showRegistrationPage() {
  13. ModelAndView modelAndView = new ModelAndView();
  14. modelAndView.setViewName("register");
  15. modelAndView.addObject("user",new User());
  16. return modelAndView;
  17. }
  18.  
  19. @PostMapping("/register")
  20. public ModelAndView registerNewUser(@Valid @ModelAttribute("user") User user,BindingResult bindingResult) {
  21. ModelAndView modelAndView = new ModelAndView();
  22. User userObj = userService.findUserByEmail(user.getEmail());
  23. if(userObj != null){
  24. bindingResult.rejectValue("email", "error.user", "This email id is already registered.");
  25. }
  26. modelAndView.setViewName("register");
  27. if(bindingResult.hasErrors()){
  28. return modelAndView;
  29. }else{
  30. userService.saveUser(user);
  31. modelAndView.addObject("user",new User());
  32. modelAndView.addObject("successMessage", "User registered successfully");
  33. }
  34. return modelAndView;
  35. }
  36. }
  37.  
  38. @Entity
  39. @Table(name="user")
  40. public class User {
  41. @Id
  42. @Column(name="user_id")
  43. @GeneratedValue(strategy=GenerationType.IDENTITY)
  44. private int userId;
  45.  
  46. @NotEmpty(message="* Please provide your first name")
  47. @Column(name="first_name")
  48. private String firstName;
  49.  
  50. @Column(name="last_name")
  51. private String lastName;
  52.  
  53. @org.springframework.data.annotation.Transient
  54. @Size(min=8,message="Password must be 8 characters long")
  55. @NotEmpty
  56. @Column(name="password")
  57. private String password;
  58.  
  59. @Email(message="Please provide a valid email address")
  60. @NotEmpty(message="Please provide your email address")
  61. @Column(name="email")
  62. private String email;
  63.  
  64. @Column(name="enabled")
  65. private int enabled;
  66.  
  67. @ManyToMany(cascade={CascadeType.DETACH,CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH})
  68. @JoinTable(name="user_role",
  69. joinColumns={@JoinColumn(name="user_id")},
  70. inverseJoinColumns={@JoinColumn(name="role_id")})
  71. private Set<Role> roles;
  72.  
  73.  
  74. public int getEnabled() {
  75. return enabled;
  76. }
  77.  
  78. public void setEnabled(int enabled) {
  79. this.enabled = enabled;
  80. }
  81.  
  82. public int getUserId() {
  83. return userId;
  84. }
  85.  
  86. public void setUserId(int userId) {
  87. this.userId = userId;
  88. }
  89.  
  90. public String getFirstName() {
  91. return firstName;
  92. }
  93.  
  94. public void setFirstName(String firstName) {
  95. this.firstName = firstName;
  96. }
  97.  
  98. public String getLastName() {
  99. return lastName;
  100. }
  101.  
  102. public void setLastName(String lastName) {
  103. this.lastName = lastName;
  104. }
  105.  
  106. public String getPassword() {
  107. return password;
  108. }
  109.  
  110. public void setPassword(String password) {
  111. this.password = password;
  112. }
  113.  
  114. public String getEmail() {
  115. return email;
  116. }
  117.  
  118. public void setEmail(String email) {
  119. this.email = email;
  120. }
  121.  
  122. public Set<Role> getRoles() {
  123. return roles;
  124. }
  125.  
  126. public void setRoles(Set<Role> roles) {
  127. this.roles = roles;
  128. }
  129. }
  130.  
  131. @Repository
  132. public interface UserRepository extends JpaRepository<User, Integer>{
  133. User findByEmail(String email);
  134. }
  135.  
  136. @Repository
  137. public interface RoleRepository extends JpaRepository<Role, Integer>{
  138.  
  139. Role findByRole(String role);
  140.  
  141. }
  142.  
  143. @Configuration
  144. @EnableWebSecurity
  145. public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
  146.  
  147. @Autowired
  148. private DataSource dataSource;
  149.  
  150. @Autowired
  151. private BCryptPasswordEncoder passwordEncoder;
  152.  
  153. @Value("spring.queries.users-query")
  154. private String usersQuery;
  155.  
  156. @Value("spring.queries.roles-query")
  157. private String rolesQuery;
  158.  
  159. @Override
  160. protected void configure(AuthenticationManagerBuilder auth) throws Exception {
  161. auth.jdbcAuthentication()
  162. .usersByUsernameQuery(usersQuery)
  163. .authoritiesByUsernameQuery(rolesQuery)
  164. .dataSource(dataSource)
  165. .passwordEncoder(passwordEncoder);
  166. }
  167.  
  168. @Override
  169. protected void configure(HttpSecurity http) throws Exception {
  170. http
  171. .authorizeRequests()
  172. .antMatchers("/","/register","/js/**","/css/**").permitAll()
  173. .antMatchers("/admin/**").hasRole("Admin")
  174. .antMatchers("/developer/**").hasRole("Developer")
  175. .anyRequest().authenticated()
  176. .and()
  177. .formLogin()
  178. .loginPage("/login")
  179. .loginProcessingUrl("/authenticateUser")
  180. .usernameParameter("email")
  181. .passwordParameter("password")
  182. .permitAll()
  183. .and()
  184. .logout()
  185. .permitAll();
  186. }
  187.  
  188. }
  189.  
  190. <body>
  191. <div class="container">
  192. <h2 class="theme-color">Login to theQAapp</h2>
  193. <form:form action="${pageContext.request.contextPath}/authenticateUser" method="post">
  194. <c:if test="${param.error != null }">
  195. <div class='error-block'>
  196. <i class="error-msg"> Please provide valid credentials.</i>
  197. </div>
  198. </c:if>
  199. <c:if test="${param.logout != null }">
  200. <div class='success-block'>
  201. <i class="success-msg"> You have been successfully logged out.</i>
  202. </div>
  203. </c:if>
  204. <div class="form-group">
  205. <label for="email">Email:</label>
  206. <input type="text" class="form-control" id="email" placeholder="Enter email" name="email">
  207. </div>
  208. <div class="form-group">
  209. <label for="password">Password:</label>
  210. <input type="password" class="form-control" id="password" placeholder="Enter password" name="password">
  211. </div>
  212. <div class="checkbox">
  213. <label><input type="checkbox" name="remember"> Remember me</label>
  214. </div>
  215. <button type="submit" class="btn btn-default theme-color">Submit</button>
  216. </form:form>
  217. </div>
  218.  
  219. </body>
  220.  
  221. # DB Properties
  222. spring.datasource.url = jdbc:mysql://localhost/demo?useSSL=false
  223. spring.datasource.username = root
  224. spring.datasource.password = root
  225.  
  226. # view resolver properties
  227. spring.mvc.view.prefix=/WEB-INF/jsp/
  228. spring.mvc.view.suffix=.jsp
  229.  
  230. #logger settings
  231. logging.level.org.springframework.web=DEBUG
  232. spring.jpa.generate-ddl=true
  233.  
  234. #Hibernate specific
  235. spring.jpa.hibernate.ddl-auto=update
  236.  
  237. #app settings
  238. server.servlet.context-path=/demo
  239.  
  240. # sql queries
  241. spring.queries.users-query=select email, password, enabled from user where email=?
  242. spring.queries.roles-query= select u.email, r.role from user u inner join user_role ur on (u.user_id=ur.user_id) inner join role r on ur.role_id=r.role_id where u.email=?
  243.  
  244. 2018-08-02 09:14:42.872 ERROR 17204 --- [nio-8080-exec-9] w.a.UsernamePasswordAuthenticationFilter : An internal error occurred while trying to authenticate the user.
  245.  
  246. org.springframework.security.authentication.InternalAuthenticationServiceException: PreparedStatementCallback; SQL [spring.queries.users-queryParameter index out of range (1 > number of parameters, which is 0).; nested exception is java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
  247. at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:119) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  248. at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  249. at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  250. at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  251. at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94) ~[spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  252. at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  253. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  254. at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  255. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  256. at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:124) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  257. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  258. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  259. at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  260. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  261. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  262. at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  263. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  264. at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  265. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  266. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  267. at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  268. at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  269. at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  270. at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  271. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.31.jar:8.5.31]
  272. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.31.jar:8.5.31]
  273. at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  274. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  275. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.31.jar:8.5.31]
  276. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.31.jar:8.5.31]
  277. at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  278. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  279. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.31.jar:8.5.31]
  280. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.31.jar:8.5.31]
  281. at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  282. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  283. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.31.jar:8.5.31]
  284. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.31.jar:8.5.31]
  285. at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  286. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  287. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.31.jar:8.5.31]
  288. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.31.jar:8.5.31]
  289. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.31.jar:8.5.31]
  290. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.31.jar:8.5.31]
  291. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) [tomcat-embed-core-8.5.31.jar:8.5.31]
  292. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.31.jar:8.5.31]
  293. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.31.jar:8.5.31]
  294. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.31.jar:8.5.31]
  295. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.31.jar:8.5.31]
  296. at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-embed-core-8.5.31.jar:8.5.31]
  297. at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.31.jar:8.5.31]
  298. at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.31.jar:8.5.31]
  299. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) [tomcat-embed-core-8.5.31.jar:8.5.31]
  300. at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.31.jar:8.5.31]
  301. at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_101]
  302. at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_101]
  303. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.31.jar:8.5.31]
  304. at java.lang.Thread.run(Unknown Source) [na:1.8.0_101]
  305. Caused by: org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [spring.queries.users-queryParameter index out of range (1 > number of parameters, which is 0).; nested exception is java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
  306. at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:110) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  307. at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  308. at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  309. at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  310. at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1402) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  311. at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:620) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  312. at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:657) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  313. at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:688) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  314. at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  315. at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:751) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  316. at org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl.loadUsersByUsername(JdbcDaoImpl.java:227) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  317. at org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl.loadUserByUsername(JdbcDaoImpl.java:184) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  318. at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:104) ~[spring-security-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
  319. ... 57 common frames omitted
  320. Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
  321. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  322. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  323. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  324. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  325. at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3327) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  326. at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3312) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  327. at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4027) ~[mysql-connector-java-5.1.46.jar:5.1.46]
  328. at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setString(HikariProxyPreparedStatement.java) ~[HikariCP-2.7.9.jar:na]
  329. at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:400) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  330. at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:232) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  331. at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:163) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  332. at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.doSetValue(ArgumentPreparedStatementSetter.java:69) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  333. at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.setValues(ArgumentPreparedStatementSetter.java:50) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  334. at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:664) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  335. at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605) ~[spring-jdbc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
  336. ... 64 common frames omitted
Add Comment
Please, Sign In to add comment