Rerun junit.test.BuyerTest.getScollData 
getScollData(junit.test.BuyerTest) 
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query 
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) 
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76) 
at cn.itcast.service.base.DaoSupport.getScrollData(DaoSupport.java:57) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 
at $Proxy19.getScrollData(Unknown Source) 
at junit.test.BuyerTest.getScollData(BuyerTest.java:50) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) 
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) 
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) 
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) 
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) 
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66) 
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35) 
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) 
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) 
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) 
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query 
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) 
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) 
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 
at org.hibernate.loader.Loader.doList(Loader.java:2231) 
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) 
at org.hibernate.loader.Loader.list(Loader.java:2120) 
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) 
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) 
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) 
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) 
... 33 more 
Caused by: java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) 
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1125) 
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:677) 
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1222) 
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) 
at org.hibernate.loader.Loader.getResultSet(Loader.java:1808) 
at org.hibernate.loader.Loader.doQuery(Loader.java:697) 
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) 
at org.hibernate.loader.Loader.doList(Loader.java:2228) 
... 41 more 
junit抛出的异常说我这行代码有问题  DaoSupport.java  qr.setResultlist(query.getResultList());
我是按照视频教程上敲的代码视频里面的没有错,为什么我测试的通过不了。还请哪位高手帮小弟看看。万分感谢!!!

解决方案 »

  1.   

    在sql语句执行之前加上这一句:
    set names 'utf8';这一句话的意思相当于下面的三句指令:
      SET character_set_client = utf8;
      SET character_set_results = utf8;
      SET character_set_connection = utf8;  
      

  2.   

    你使用了gb2312和utf8两种编码了吧,统一一下。
      

  3.   

    Caused by: java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='  难道你的 等号是中文的?