开发者社区> jake.song> 正文

Hibernate查询,数据库中无数据正常,有数据出现java.lang.NullPointerException 空指针异常

简介: hibernate执行表与表之间多对一的查询时,如果数据库中没有数据时,一切正常,一旦将数据插入到数据库中,查询的时候将会抛出空指针异常。以下是我的*.hbm.xml的配置 后来经过多方查证,需要在配置文件中的多对一的查询中加入Lazy="false". 需要修改的地方为: 但我有个疑问啊,lazy的默认就是false,不写的话就会报错,写上就不抛空指针异常,这是问什么呢??求证。
+关注继续查看

hibernate执行表与表之间多对一的查询时,如果数据库中没有数据时,一切正常,一旦将数据插入到数据库中,查询的时候将会抛出空指针异常。以下是我的*.hbm.xml的配置

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="com.song.entity.Album" table="album" catalog="photosystem">
		<id name="albumId" type="java.lang.Integer" column="albumId">
			<generator class="identity" />
		</id>
		<property name="albumName" type="java.lang.String" column="albumName" />
		<property name="albumDesc" type="java.lang.String" column="albumDesc" />
		<property name="createDate" type="java.lang.String" column="createDate" />
		<property name="cover" type="java.lang.String" column="cover" />
		
		<many-to-one name="user" column="userId" class="com.song.entity.User" />
		<many-to-one name="kind" column="kindId" class="com.song.entity.Kind" />
		<set name="photos" inverse="true">
			<key column="albumId" />
			<one-to-many class="com.song.entity.Photo"/>
		</set>
	</class>
</hibernate-mapping>
后来经过多方查证,需要在配置文件中的多对一的查询中加入Lazy="false".
需要修改的地方为:

<many-to-one name="user" column="userId" class="com.song.entity.User" lazy="false"/>

<many-to-one name="kind" column="kindId" class="com.song.entity.Kind" lazy="false"/>

但我有个疑问啊,lazy的默认就是false,不写的话就会报错,写上就不抛空指针异常,这是问什么呢??求证。。。。。。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
带你读《存储漫谈Ceph原理与实践》第二章Ceph 架构2.2 Ceph 数据寻址(三)
带你读《存储漫谈Ceph原理与实践》第二章Ceph 架构2.2 Ceph 数据寻址
180 0
隐患写法flag.equals("true")带来的空指针异常
    分类:2008-06-04 12:47 467人阅读 评论(0) 收藏 举报 linuxjava测试 昨天,有同事A对同事B写的程序进行测试时,出现错误,看控制台信息,发现抛出了空指针异常。
713 0
【我的Android进阶之旅】Android 7.0报异常:java.lang.SecurityException: COLUMN_LOCAL_FILENAME is deprecated;
之前开发的一个和第三方合作的apk,在之前公司的 Android 5.1 系统的手表上运行正常,今天在公司新开发的 Android 7.1系统的手表上运行的时候,使用 DownloadManager 下载之后,查询下载状态的时候,报了异常 java.
1972 0
【poi】用POI新建一个xlsx文件【或者说将数据存入到xlsx中】/【将数据从xlsx中获取到项目中】
第一部分:写入xlsx中 使用POI创建一个xlsx文件: 项目结构如下:   具体使用的POI中的 XSSFWorkbook    xlsx对象 Sheet        工作簿对象 Row         行对象 Cell         单元格对象 FileOutputStream   流对象   代码如下: 1 package com.
1324 0
+关注
jake.song
Java深耕者一枚
39
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载