三月 03, 2017 9:24:50 下午 org.hibernate.impl.SessionFactoryObjectFactory addInstance
信息: Not binding factory to JNDI, no JNDI name configured
使用hibernate逆向工程生成的web项目,测试查询关联的两个表中的数据集合,无法执行,停留在上述信息。
测试代码如下:
public class Test {
@org.junit.Test
public void test1(){
Session session = null;
session = HibernateSessionFactory.getSession();
List<House> houses = session.createQuery("from House").list();
for(House h:houses){
System.out.println(h.getTitle()+"\t"+h.getStreet().getName());
}
}
}
原因是:house表中数据有空的street字段,查询时无法调取getName()方法。
修改测试方法(去掉null情况)结果输出正常。改后的测试代码:
for(House h:houses){
System.out.print(h.getTitle());
if(h.getStreet() != null){
System.out.print("\t"+h.getStreet().getName());
}
System.out.println();
}
本文介绍了一个Hibernate查询过程中遇到的问题及解决方案。在尝试查询关联表数据时,由于部分记录的关联字段为空导致查询失败。通过检查代码并适当处理空值情况,最终实现了正确的数据输出。

9226

被折叠的 条评论
为什么被折叠?



