Ich versuche, einen eindeutigen Datensatz aus der Datenbank zu holen. dies ist mein Versuchjava.lang.ClassCastException: java.lang.String kann nicht in [Ljava.lang.Object; - Abrufen einer Abfrage von der Datenbank mit Hibernate
@SuppressWarnings("unchecked")
@Override
public List<Employee> getAllEmployees(String employeeName) {
String query = "SELECT DISTINCT e.name FROM Employees e WHERE e.name like '%"+ employeeName +"%'";
List<Object[]> employeeObjects = hibernateUtil.fetchAll(query);
List<Employee> employees = new ArrayList<Employee>();
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];
employee.setId(id);
employee.setName(name);
employee.setAge(age);
employee.setSalary(salary);
employees.add(employee);
}
System.out.println(employees);
return employees;
}
dies die Linie der Fehler
for(Object[] employeeObject: employeeObjects) { //line 65
tritt Wenn ich versuche, für die Platte, die ich diesen Fehler zu suchen, was
java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;
com.ranga.dao.impl.EmployeeDAOImpl.getAllEmployees(EmployeeDAOImpl.java:65)
com.ranga.service.impl.EmployeeServiceImpl.getAllEmployees(EmployeeServiceImpl.java:48)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
com.sun.proxy.$Proxy23.getAllEmployees(Unknown Source)
com.ranga.controller.EmployeeController.searchEmployee(EmployeeController.java:73)
bitte falsch sein könnte?
Ich hoffe, [Little Bobby Tables] (https://xkcd.com/327/) funktioniert nicht für Sie. –
Keine Ahnung, was 'hibernateUtil.fetchAll' tut - Ihr Problem ist wahrscheinlich dort. –
Was ist die Linie, die die Ausnahme verursacht? – Stultuske