Expected: class java.lang.Long, got class java.lang.Integer异常处理
2009-10-07 14:42
513 查看
hibernate 3.1的查询,主要代码如下:
Project project = (Project)session.get(Project.class, 1);
ms sql 2005数据库中主键类型是bigint。
使用main方面测试,出现: org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class java.lang.Long, got class java.lang.Integer
或者使用Junit测试,出现:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
错误原因:
session.get(Project.class, 1);方法中的参数1为Int类型,会被自动转换为Integer,而Project类中的ProjectId属性是Long,它对应的配置文件中也是java.util.Long,所以出现java.lang.Integer cannot be cast to java.lang.Long异常,
解决方法:
代码改成Project project = (Project)session.get(Project.class, 1L);在参数中给1加L,表示它是long类型,会自动转换成Long,或者Project project = (Project)session.get(Project.class, new Long(1));
相关文章推荐
- Provided id of the wrong type for class pojo.Books. Expected: class java.lang.Integer, got class java.lang.Long
- java.lang.Integer cannot be cast to java.lang.Long异常处理
- 【问题解决:连接异常】 java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
- Caused by: org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class java.lang.Integer, got class [Lja
- java.lang.ClassCastException: java.lang.Integer异常
- java.lang.ClassNotFoundException: package com.xiangang.qq_client.Prototal 常见异常处理方法
- 异常笔记(2)--object is not an instance of declaring class while invoking public abstract java.lang.Long
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- MyBatis 插入MySQL数据库返回主键异常 java.lang.Integer cannot be cast to java.lang.Long
- java从0单排(3)-经验(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常处理办法)
- java.lang.UnsupportedClassVersionError: Bad version number in .class file异常的处理方法
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
- java.lang.ClassNotFoundException: org.I0Itec.zkclient.exception.ZkNoNodeException 异常 如何处理
- mybaits的There is no getter for property named 'id' in 'class java.lang.Integer异常
- java.lang.ClassCastException异常处理