【发布时间】:2025-12-21 20:45:11
【问题描述】:
2017 年 2 月 20 日上午 10:04:26 org.apache.catalina.core.StandardWrapperValve 在上下文中为 servlet [dispatcher] 调用 SEVERE: Servlet.service() 带路径 [/sinisukasystem] 抛出异常 [请求处理 失败的;嵌套异常是 java.lang.ClassCastException: java.lang.Integer 不能转换为 com.hendri.domain.ProductType] 根本原因 java.lang.ClassCastException: java.lang.Integer cannot 被转换为 com.hendri.domain.ProductType 在 com.hendri.dao.EmployeeDAOImpl.getAllEmployees(EmployeeDAOImpl.java:83) 在 com.hendri.service.EmployeeServiceImpl.getAllEmployees(EmployeeServiceImpl.java:49) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
@SuppressWarnings("unchecked")
@Override
public List<Employee> getAllEmployees(String employeeName) {
String query = "SELECT e.* FROM Employees e WHERE e.name like '%"+ employeeName +"%'";
List<Object[]> employeeObjects = hibernateUtil.fetchAll(query);
List<Employee> employees = new ArrayList<Employee>();
//List<ProductType> producttype = new ArrayList<ProductType>();
for(Object[] employeeObject: employeeObjects) {
Employee employee = new Employee();
long id = ((BigInteger) employeeObject[0]).longValue();
int age = (int) employeeObject[1];
String name = (String) employeeObject[2];
float salary = (float) employeeObject[3];
ProductType productType = (ProductType) employeeObject[4];
employee.setId(id);
employee.setName(name);
employee.setAge(age);
employee.setSalary(salary);
employee.setProductType(productType);
employees.add(employee);
}
System.out.println(employees);enter code here
return employees;
}
【问题讨论】:
-
请与数据库列共享员工类及其休眠映射。
-
ProductType productType = (ProductType) employeeObject[4];您可能在此列中存储了一个数字。 -
你有什么问题?
-
*.com/questions/34354481/…或许能解决你的问题
标签: java spring hibernate model-view-controller