У меня есть некоторые проблемы.Я работаю с jpa (eclipselink из glassfish 3.1) и mysql db.
Предположим, у меня есть таблица ученика с полем 'creation', которое является датой-временем.Используя sql, если я хочу выбрать все записи, созданные в '2012-03-30', независимо от времени:
select * from student where date(created) = '2012-03-30'
Хорошо, это работает.
Теперь я хотел бысделать то же самое в jpql.И я не думаю, что это возможно.Итак, я попробовал с собственным запросом:
entityManager.createNativeQuery("select * from student where date(creation) = '2012-03-30';
List<Student> students = (List<Student>)query.getResultList();
System.out.println("Result : "+students.size());
for (Student student : (List<Student>)students)
{
System.out.println(student);
}
Я пробовал с и без приведений в строках 2 и 4, но всегда одинаковый результат:
Result : 3
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.tuto.entities.Train
Мой класс ученика имеет @аннотация сущности и все работает нормально, используя
entityManager.createQuery("select s from Student s where s.age = '25');
Что не так?