spring中使用hibernate出现的一个错误.错误信息如下:

来源:互联网 发布:淘宝上做网站靠谱吗 编辑:程序博客网 时间:2024/04/29 01:54
org.springframework.orm.hibernate.HibernateObjectRetrievalFailureException: No row with the given identifier exists: 2001, of class: com.hl.security.bo.Menu; nested exception is net.sf.hibernate.UnresolvableObjectException: No row with the given identifier exists: 2001, of class: com.hl.security.bo.Menu
net.sf.hibernate.UnresolvableObjectException: No row with the given identifier exists: 2001, of class: com.hl.security.bo.Menu
 at net.sf.hibernate.UnresolvableObjectException.throwIfNull(UnresolvableObjectException.java:38)
 at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1881)
 at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:68)
 at net.sf.hibernate.type.EntityType.resolveIdentifier(EntityType.java:215)
 at net.sf.hibernate.impl.SessionImpl.initializeEntity(SessionImpl.java:2132)
 at net.sf.hibernate.loader.Loader.doQuery(Loader.java:239)
 at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:132)
 at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:830)
 at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:850)
 at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:57)
 at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:49)
 at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:420)
 at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:2044)
 at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1918)
 at net.sf.hibernate.impl.SessionImpl.load(SessionImpl.java:1847)
 at org.springframework.orm.hibernate.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:198)
 at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:150)
 at org.springframework.orm.hibernate.HibernateTemplate.load(HibernateTemplate.java:196)
 at com.hl.security.service.dao.imp.MenuDaoImp.findByMenuId(MenuDaoImp.java:19)
 at com.hl.security.service.spring.SecurityServiceImp.findByMenuId(SecurityServiceImp.java:64)
...(Click for full stack trace)...
 at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:59)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:118)
 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:169)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:148)
 at $Proxy0.findByMenuId(Unknown Source)
 at com.hl.security.service.TestISecurityService.testFindByMenuId(TestISecurityService.java:62)
...

错误原因:
 数据造成hibernate出错.
在一个递归的数据模型中, 如 一个表结构如下
  id, name , parentId, desc .
其中, parentId中的数据必须包含在id列中. 如果有一个异常的情况.
使用hibernate查询的时候,就会报上述错.

如果你也有这样的错, 请先检查你的数据吧!
 
原创粉丝点击