Hibernate的单实体映射中,持久化类属性的访问方式
- 使用getter、setter方法
- 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