I am using this http://howtodoinjava.com/2013/03/21/spring-3-and-hibernate-integration-tutorial-with-example/
tutorial to create a Spring + Hibernate App.But I am getting this exception while inserting data. I am using Oracle.
Could not insert : howtodoinjava.entity.EmployeeEntity
invalid column type getInt not implemented for class oracle.jdbc.driver.t4CRowidAccessor
Where in the program I am using getInt ?
EmployeeDaoImpl.java
package com.howtodoinjava.dao;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.howtodoinjava.entity.EmployeeEntity;
@Repository
public class EmployeeDaoImpl implements EmployeeDAO
{
@Autowired
private SessionFactory sessionFactory;
@Override
public void addEmployee(EmployeeEntity employee) {
this.sessionFactory.getCurrentSession().save(employee);
}
@SuppressWarnings("unchecked")
@Override
public List<EmployeeEntity> getAllEmployees() {
return this.sessionFactory.getCurrentSession().createQuery("from EmployeeEntity").list();
}
@Override
public void deleteEmployee(Integer employeeId) {
EmployeeEntity employee = (EmployeeEntity) sessionFactory.getCurrentSession().load(
EmployeeEntity.class, employeeId);
if (null != employee) {
this.sessionFactory.getCurrentSession().delete(employee);
}
}
}
EmployeeEntity.java
package com.howtodoinjava.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="EMPLOYEE")
public class EmployeeEntity
{
@Id
@Column(name="ID")
@GeneratedValue
private Integer id;
@Column(name="FIRSTNAME")
private String firstname;
@Column(name="LASTNAME")
private String lastname;
@Column(name="EMAIL")
private String email;
@Column(name="TELEPHONE")
private String telephone;
public void setid(int id)
{
this.id = id;
}
public int getid()
{
return id;
}
public void setfirstname(String firstname)
{
this.firstname = firstname;
}
public String getfirstname()
{
return firstname;
}
public void setlastname(String lastname)
{
this.lastname = lastname;
}
public String getlastname()
{
return lastname;
}
public void setemail(String email)
{
this.email = email;
}
public String getemail()
{
return email;
}
public void settelephone(String telephone)
{
this.telephone = telephone;
}
public String gettelephone()
{
return telephone;
}
}
you can alternatively refer to this tutorial
http://www.ekiras.com/2015/02/maven-spring-mvc-hibernate-sitemesh-hello-world-project.html
What i think you might be missing is the getters and setters for the class, due to which it will not be able to set the values for the class variables.
There are two ways you can resolve it.
replace Integer with int in your EmployeeEntity.java
or by changing generated annotation as below in EmployeeEntity.java
@Id
@Column(name="ID", unique = true, nullable = false)
@**GeneratedValue(strategy=GenerationType.SEQUENCE)**
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.