Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.Serializable;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- @Entity
- @Table(name="EMPLOYEE")
- public class Employee implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- @Id
- @Column(name="ID", nullable = false)
- @GeneratedValue(strategy = GenerationType.AUTO)
- private int id;
- @Column(name="FIRST_NAME", nullable = false)
- private String firstName;
- @Column(name="LAST_NAME", nullable = false)
- private String lastName;
- @Column(name="USERNAME", nullable = false)
- private String userName;
- @Column(name="PASSWORD", nullable = false)
- private String password;
- @Column(name="EMAIL", nullable = false)
- private String email;
- @Column(name="AGE", nullable = true)
- private int age;
- @Column(name="ROLE", nullable = true)
- private Role role;
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @ManyToOne
- @JoinColumn(name="role",referencedColumnName="ROLE_ID")
- public Role getRole() {
- return role;
- }
- public void setRole(Role role) {
- this.role = role;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return this.getFirstName() + " " + this.getLastName() + " " + this.getEmail() + " " + this.getAge();
- }
- }
- import java.io.Serializable;
- import java.util.List;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.Id;
- import javax.persistence.OneToMany;
- import javax.persistence.Table;
- @Entity
- @Table(name = "ROLE")
- public class Role implements Serializable {
- @Id
- @Column(name="ROLE_ID", nullable = false, unique = true)
- private int roleId;
- @Column(name="ROLE", nullable = false)
- private String role;
- public int getRoleId() {
- return roleId;
- }
- public void setRoleId(int roleId) {
- this.roleId = roleId;
- }
- public String getRole() {
- return role;
- }
- public void setRole(String role) {
- this.role = role;
- }
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Scope;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.SessionAttributes;
- import org.springframework.web.bind.support.SessionStatus;
- import com.techm.spring.model.Employee;
- import com.techm.spring.service.EmployeeService;
- import com.techm.spring.service.RoleService;
- @Controller
- @RequestMapping("/employee/new")
- @Scope("request")
- @SessionAttributes("employee") //This will save the employee model attribute in session
- public class EmployeeController {
- @Autowired
- public EmployeeService employeeService;
- @Autowired
- public RoleService roleService;
- @RequestMapping(value="/registration", method = RequestMethod.GET)
- public String setUpSignUpForm(Model model) {
- Employee emp = new Employee();
- model.addAttribute("employee",emp);
- //populating roles to show on sign up form
- model.addAttribute("roles",roleService.getRoles());
- return "signUp";
- }
- @RequestMapping(value="/registration",method = RequestMethod.POST)
- public String addNewEmployee(@ModelAttribute("employee") Employee emp, BindingResult result, SessionStatus status) {
- //status.setComplete(); This will clear the session
- System.out.println(emp.getRole().getRoleId());
- employeeService.addEmployee(emp);
- return "redirect:success";
- }
- @RequestMapping(value = "/success", method = RequestMethod.GET)
- public String success() {
- return "registrationSuccessPage";
- }
- @ModelAttribute("employee")
- public Employee getEmployee() {
- return new Employee();
- }
- }
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
- <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- <%@ page isELIgnored="false" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Spring 4 MVC - HelloWorld Sign Up Page</title>
- <title>Add Employee Form</title>
- <style>
- .error
- {
- color: #ff0000;
- font-weight: bold;
- }
- </style>
- </head>
- <body>
- <p style="color:green; font-weight: bold;">Sign Up</p>
- <form:form method="post" modelAttribute="employee" action="registration">
- <table>
- <tr>
- <td>First Name:</td>
- <td><form:input path="firstName" /></td>
- </tr>
- <tr>
- <td>Last Name:</td>
- <td><form:input path="lastName" /></td>
- </tr>
- <tr>
- <td>Email:</td>
- <td><form:input path="email" /></td>
- </tr>
- <tr>
- <td>UserName:</td>
- <td><form:input path="userName" /></td>
- </tr>
- <tr>
- <td>Password:</td>
- <td><form:password path="password" /></td>
- </tr>
- <tr>
- <td>Role:</td>
- <td>
- <form:select path="role.roleId">
- <form:option value="-1">Select Role</form:option>
- <form:options items="${roles}" itemLabel="role" itemValue="roleId"/>
- </form:select>
- </td>
- </tr>
- <tr>
- <td>Age:</td>
- <td><form:input path="age"/></td>
- </tr>
- <tr>
- <td colspan="3"><input type="submit" value="Sign Up"/></td>
- </tr>
- </table>
- </form:form>
- </body>
- </html>
- Hibernate: insert into EMPLOYEE (AGE, EMAIL, FIRST_NAME, LAST_NAME, PASSWORD, ROLE, USERNAME, ID) values (?, ?, ?, ?, ?, ?, ?, ?)
- Oct 18, 2016 7:53:52 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
- WARN: SQL Error: 932, SQLState: 42000
- Oct 18, 2016 7:53:52 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
- ERROR: ORA-00932: inconsistent datatypes: expected NUMBER got BINARY
- Oct 18, 2016 7:53:52 PM org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release
- INFO: HHH000010: On release of batch it still contained JDBC statements
- Oct 18, 2016 7:53:52 PM org.apache.catalina.core.StandardWrapperValve invoke
- SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/SpringMVC] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement] with root cause
- java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected NUMBER got BINARY
- at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
- at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
- at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
- at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
- at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
- at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
- at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
- at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
- at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
- at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
- at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
- at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
- at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
- at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:62)
- at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3124)
- at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3581)
- at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:104)
- at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)
- at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)
- at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)
- at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
- at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)
- at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)
- at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
- at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)
- at org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
- at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
- at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
- at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
- at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
- at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
- at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
- at $Proxy63.addEmployee(Unknown Source)
- at com.techm.spring.service.EmployeeServiceImpl.addEmployee(EmployeeServiceImpl.java:18)
- at com.techm.spring.controller.EmployeeController.addNewEmployee(EmployeeController.java:48)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
- at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
- at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
- at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
- at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
- at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
- at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
- at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
- at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
- at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
- at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
- at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
- at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
- at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
- at java.lang.Thread.run(Unknown Source)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement