Внезапно я начал получать “IllegalArgumentException: несоответствие типа аргумента” в в спящем режиме. Быть в спящем режиме объект работал в течение достаточно долгого времени, и журналы svn подтверждают код, чтобы быть неповрежденными.
Что могло бы иметь место?
Вот часть исключения
Jan 16, 2010 10:47:09 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
at org.hibernate.loader.Loader.doQuery(Loader.java:729)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:930)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:921)
Теперь это возможно, так как по крайней мере Qt Creator 2.8.1.
Используйте Build- > Build file < имя _ файла >
или ярлык Ctrl + Alt + B :
или щелкните правой кнопкой мыши на файле в представлении проекта, и в контекстном меню есть предмет Build, который создает только этот файл:
Можно отследить запрос на функцию или проголосовать за него по адресу https://bugreports.qt.io/browse/QTCREATORBUG-106 .
-121--2856424-Добавить к ответу Максима Кима
В нормальном методе
..
q:
- > окно командной строки для команд
q/
- > окно командной строки для поиска вперед
q?
- > окно командной строки для поиска назад
Ctrl-C
или < CR >
выведет вас из окна командной строки
Translation: Hibernate предоставляет аргумент неправильного типа при попытке вызова метода setter.
Мой первый шаг будет заключаться в том, чтобы выяснить, какой это установщик (например, отладка приложения в затмении, установка точки разрыва исключения и проверка переменных стека после достижения точки останова).
Edit: Какова подпись установщика для сопоставленного свойства qs
? Требуется Набор < Q >
.
Я слышал об этом в связи с изменениями поля баз данных (например, с отметкой даты до метки времени). Возможно, стоит вернуть изменения в базе данных, если вы можете их протестировать, или проверить .hbm или аннотации, как предложил Sands.
Итак, вы изменили файл гибернации, не изменяя сущность? Я думаю, что QS
недвижимость была уже тогда. Но это java.util.Set
(как вы использовали
на на карте вашей коллекции )?