Hibernate和playframework提供IllegalArgumentException。。。与类型java.util.Map不匹配

Hibernate和playframework提供IllegalArgumentException。。。与类型java.util.Map不匹配,java,hibernate,jpa,playframework-2.1,Java,Hibernate,Jpa,Playframework 2.1,当我将应用程序从2.0.4迁移到2.1.0时,会引发此异常: play.api.Application$$anon$1: Execution exception[[IllegalArgumentException: Parameter value [shared.models.Restaurant@f59fc] was not matching type [java.util.Map]]] at play.api.Application$class.handleError(Applica

当我将应用程序从2.0.4迁移到2.1.0时,会引发此异常:

play.api.Application$$anon$1: Execution exception[[IllegalArgumentException: Parameter value [shared.models.Restaurant@f59fc] was not matching type [java.util.Map]]]
    at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10-2.1.0.jar:2.1.0]
    at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10-2.1.0.jar:2.1.0]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132) [play_2.10-2.1.0.jar:2.1.0]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128) [play_2.10-2.1.0.jar:2.1.0]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10-2.1.0.jar:2.1.0]
    at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10-2.1.0.jar:2.1.0]
java.lang.IllegalArgumentException: Parameter value [shared.models.Restaurant@f59fc] was not matching type [java.util.Map]
    at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:360) ~[hibernate-entitymanager-3.6.9.Final.jar:3.6.9.Final]
    at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:364) ~[hibernate-entitymanager-3.6.9.Final.jar:3.6.9.Final]
    at org.hibernate.ejb.criteria.CriteriaQueryCompiler$1$1.bind(CriteriaQueryCompiler.java:194) ~[hibernate-entitymanager-3.6.9.Final.jar:3.6.9.Final]
    at org.hibernate.ejb.criteria.CriteriaQueryCompiler.compile(CriteriaQueryCompiler.java:247) ~[hibernate-entitymanager-3.6.9.Final.jar:3.6.9.Final]
    at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:603) ~[hibernate-entitymanager-3.6.9.Final.jar:3.6.9.Final]
    at shared.dao.impl.GenericDAOImpl$QueryQuery.selectCount(GenericDAOImpl.java:273) ~[na:na]
所有modelDao都扩展了这个GenericDAOImpl。方法ad行273是:

    Long selectCount(){
        CriteriaBuilder builder = JPA.em().getCriteriaBuilder();
        CriteriaQuery<Long> criteria = builder.createQuery(Long.class);
        Root<T> root = criteria.from( clazz );
        criteria.select(builder.count(root));
        criteria.where(buildWhere(builder, root));
        //buildSelectWhere(builder, root, criteria);
        return JPA.em().createQuery(criteria).getSingleResult();
    }
clazz变量是扩展DAO模型的.class。 我有点迷失在真正的问题是什么。
顺便说一句,在2.0.4中,这一功能运行良好。

多亏了游戏开发人员的出色工作,这一功能已在2.1.2版中修复:


我能够用2.1.0附带的计算机数据库JPA示例复制这个问题。只需在某个地方插入以下内容,使其运行,您就会看到错误:Company=Company.findById1l;List data=JPA.em.createQueryfrom Computer,其中company=:company.setParametercompany,company.setFirstResult0.setMaxResults10.getResultList;我已将其作为一个问题发布在github上: