无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Hibernate常见异常-无法转换为内部表示

Posted on 2010-06-01 09:11 Gavin.lee 阅读(4679) 评论(0)  编辑  收藏 所属分类: SSH2 --Hibernate
java.sql.SQLException: 无法转换为内部表示

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)

    at oracle.jdbc.driver.CharCommonAccessor.getLong(CharCommonAccessor.java:239)

    at oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:514)

    at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:1617)

    at org.hibernate.type.LongType.get(LongType.java:28)

    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)

    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)

    at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)

    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)

    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)

    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)

    at org.hibernate.loader.Loader.getRow(Loader.java:1206)

    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)

    at org.hibernate.loader.Loader.doQuery(Loader.java:701)

    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)

 

从异常中我们明确的能看到 org.hibernate.type.LongType.get(LongType.java:28),这个表明了是LongType的异常。此时我们锁定的目标就是实体类的Long类型。

1. 检查实体类的Long类型参数与数据库中对应的字段是否匹配

2. 如果检查O-R对应的字段类型没问题,则考虑DB中数据是否有问题,Hibernate中,String类型的数据可以插入到Long类型中,可是在查询时候将无法转型(详细请了解OracleLong类型数据)


只有注册用户登录后才能发表评论。


网站导航: