Hibernate中单实体映射时出现空指针异常解决办法

Hibernate的单实体映射中,持久化类属性的访问方式

  1. 使用getter、setter方法
  2. java的反射机制

在实体类.hbm.xml文件中默认指定属性property元素的access属性为property,该属性还可以有另一个值为field
field指定为将要采用java的反射机制

<property name="username" access="field"/>

property则是需要写getter和setter方法
当我们不给一个属性设置getter和setter方法后,就必须要指定access属性值为field否则会出现下面的报错信息。

Session session = HibernateUtil.getSessionFactory().openSession();

第24行为上面这行代码,可以看出HibernateUtil.getSessionFactory()为空,再深究底层,发现是加载SessionFactory为空,即加载配置文件出错

INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:3306/dynamic]
Exception in thread "main" java.lang.NullPointerException
	at com.hibernate.ui.Test.main(Test.java:24)

在这里插入图片描述

解决办法:
1、给该属性添加getter、setter方法
2、在该实体类的.hbm.xml配置文件中指定该属性的access为field

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值