query.list()报空指针异常

未尝不是一种方式 2007-07-25 02:45:31
代码如下:
public List findOwnerFamily(User u){
List list = null;
Session session = SessionFactory.currentSession();
Transaction t = null;
try{
t = session.beginTransaction();
Query query = session.createQuery("from Family f where f.user.userEp=?").setParameter(0, u.getUserEp());
System.out.println("--1--"+query.iterate().hasNext());
System.out.println("--2--"+query == null);
if(query != null){
list = query.list();
}
t.commit();
}catch(Exception e){
t.rollback();
e.printStackTrace();
}finally{
session.close();
}
System.out.println("--3--"+list.size());
return list;
}
打印处1: true
2: false
3: 未打印

就是在list = query.list();的地方报空指针异常。。。不知道是怎么回事。。
明明query和query.iterator.hasnext()都是有值的。。。
...全文
551 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哈哈 解决了。。但不知道为什么。。
只要在hbm中加个lazy="false"就可以了
  • 打赏
  • 举报
回复
true
false
Hibernate: select family0_.family_id as family1_, family0_.user_ep as user2_19_, family0_.ft_id as ft3_19_, family0_.family_logo as family4_19_, family0_.family_name as family5_19_, family0_.family_key as family6_19_, family0_.family_info as family7_19_, family0_.family_send_time as family8_19_, family0_.family_path as family9_19_, family0_.family_limit as family10_19_, family0_.family_state as family11_19_, family0_.family_join as family12_19_, family0_.family_forum as family13_19_, family0_.family_restore as family14_19_ from epies.family family0_ where family0_.user_ep=?
java.lang.NullPointerException
at org.hibernate.tuple.AbstractTuplizer.createProxy(AbstractTuplizer.java:249)
at org.hibernate.persister.entity.BasicEntityPersister.createProxy(BasicEntityPersister.java:2831)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:218)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:163)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:79)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:655)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:261)
at org.hibernate.type.EntityType.resolve(EntityType.java:286)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:105)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:530)
at org.hibernate.loader.Loader.doQuery(Loader.java:436)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.epies.group.handle.GroupHandle.findOwnerFamily(GroupHandle.java:226)
at com.epies.group.handle.GroupHandle.main(GroupHandle.java:551)
Exception in thread "main" java.lang.NullPointerException
at com.epies.group.handle.GroupHandle.findOwnerFamily(GroupHandle.java:235)
at com.epies.group.handle.GroupHandle.main(GroupHandle.java:551)


上面就是这个方法单独拿出来运行出的问题。。。我也感到很奇怪。。。就是在226行(list = query.list();)这个地方报的错。。。其他跟这个方法类似的也没出错。。。所以我现在只能是考虑是否是配置文件错误了
feihua317 2007-07-25
  • 打赏
  • 举报
回复
代码没问题啊!
  • 打赏
  • 举报
回复
不知道啊。。。其他的方法有跟这个方法差不多的都没问题。。就这个方法有问题。。以前还好着呢。。。今天就不行了。。。唉。。。我重启下算了。。
Bluesky51 2007-07-25
  • 打赏
  • 举报
回复
我试了都好着,不知道你那怎么回事……

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧