SetMaxResults() не работает должным образом в HibernateJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 SetMaxResults() не работает должным образом в Hibernate

Сообщение Гость »


Я новичок в Hibernate и получаю некоторые ошибки при использовании функции SetMaxResults(). Это данные моей таблицы MySQL:

1 Джей Си Запах 2 Джей Си Запах 3 Джей Си Запах 4 Джей Си Запах Это метод извлечения одной записи из 4 одинаковых записей:

private Person findPerson(сеанс сеанса, имя строки){ Запрос запроса = session.createQuery("от Person p, где p.name=:name"); query.setParameter("имя", имя); query.setMaxResults(1); Человек person = (Person)query.list(); если (человек == ноль) вернуть ноль; возвращаемый человек; } Я ожидаю получить одну запись, но в соответствии с исключением я получаю ArrayList записей. Исключение происходит из этой строки Person person = (Person)query.list(); В моем исходном коде эта строка имеет номер 34. Это исключение:

java.lang.ClassCastException: java.util.ArrayList нельзя привести к Chapter3.simple.Person в Chapter3.simple.RankingTest.findPerson(RankingTest.java:34) в Chapter3.simple.RankingTest.savePerson(RankingTest.java:41) в Chapter3.simple.RankingTest.testSaveRanking(RankingTest.java:72) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:606) в org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) в org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) в org.junit.runners.model.FrameworkMethod.invokeExplosically (FrameworkMethod.java:47) ... ... Что я делаю не так?
Изменить
Разве setMaxResults(1) не должен возвращать 1 результат из записей?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»