java - 非法参数异常 : argument type mismatch in Hibernate

标签 java hibernate orm

我突然开始在 hibernate 中遇到“IllegalArgumentException:参数类型不匹配”。 hibernate 实体工作了相当长的一段时间,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)

最佳答案

翻译:Hibernate 在尝试调用 setter 方法时提供了错误类型的参数。

我的第一步是找出哪个 setter(例如,通过在 eclipse 中调试应用程序、设置异常断点并在到达断点后检查堆栈变量)。

编辑:映射属性的 setter 签名是什么 qs ?它应该需要 Set<Q> .

关于java - 非法参数异常 : argument type mismatch in Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078263/

相关文章:

具有属性约束(例如必需/可选)的 Python ORM?

java - MapReduce代码以查找某些城市车站的平均温度

java - 如何在Hibernate中选择索引列?

c# - 在 DB4O 中执行 "SELECT TOP n"

php - Doctrine 2 与关联的继承映射

java - 在 Spring 中处理 @Transactional 方法期间的异常

java - 使用 GWT 在 FlexTable 中进行分页

java - 扫描仪没有拾取文件的内容?

java - 膨胀线性布局时填充父 View 的问题

java - Hibernate - 持久化两个对象时出现 NonUniqueObjectException