В настоящее время пытаемся получить несколько простых транзакций между Hibernate и нашей базой данных. Я продолжаю сталкиваться со следующей ошибкой:
path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Employee is not mapped [from Employee]] with root cause
Я проверил написание типов и подтвердил свою проблему здесь . К сожалению, я не смог определить проблему.
DAO:
@Service
public class EmployeeDaoImplementation implements EmployeeDao {
@Override
public List<Employee> findall() {
Session currentSession = Statics.getSessionFactory().getCurrentSession();
if(currentSession == null)
currentSession = Statics.getSessionFactory().openSession();
currentSession.beginTransaction();
Query<Employee> theQuery = currentSession.
createQuery("from Employee", Employee.class);
List<Employee> employeeList = theQuery.getResultList();
currentSession.close();
return employeeList;
}
}
Объект:
package com.ots;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="Employee")
public class Employee {
@Id
@Column
private int id;
@Column
private String fName;
@Column
private String lName;
public Employee() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getfName() {
return fName;
}
public void setfName(String fName) {
this.fName = fName;
}
public String getlName() {
return lName;
}
public void setlName(String lName) {
this.lName = lName;
}
}
И, наконец, RestController:
@RestController
public class EmployeeRestController {
private EmployeeDao empDao;
@GetMapping("/list")
public List<Employee> getEmployees(){
return empDao.findall();
}
@Autowired
public void setEmployeeDaoImplementation(EmployeeDao empDao) {
this.empDao = empDao;
}
}
Все имена постоянны. Тип Employee четко сопоставлен с таблицей Employee, однако Hibernate говорит, что это не так. Что здесь происходит?