hibernate.TypeMismatchException异常

来源:互联网 发布:执业药师网络兼职 编辑:程序博客网 时间:2024/06/08 09:04
org.hibernate.TypeMismatchException: Provided id of the wrong type for class cn.mym.basic.domain.CodeType. Expected: class java.lang.Long, got class java.lang.Integerat org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:135)at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)at org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)at org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)at cn.mym.basic.test.TestSecondCache.testSecondCache(TestSecondCache.java:30)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.TestMethod.invoke(TestMethod.java:59)at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)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)


*  实体类的主键类型为long   CodeType c=(CodeType)session.get(CodeType.class,8);如果是这样查询的话 就会有类型转换异常

要把integer类型转换为Long类型

CodeType c=(CodeType)session.get(CodeType.class,new Long(8));  这样就不会有错了 

0 0