首页 > 其他分享 >Hibernate初始化时在OneToOneSecondPass类中出现NullPointerException

Hibernate初始化时在OneToOneSecondPass类中出现NullPointerException

时间:2023-07-21 17:06:17浏览次数:34  
标签:mappedBy Hibernate carveEReviewcomment 主键 Role User OneToOneSecondPass NullPoint


启动项目  Hibernate随即报错
Caused by: java.lang.NullPointerException
    at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)

 

 

原因:

 

主类方,无外键方

@OneToOne( mappedBy="carveEReviewproject" ,targetEntity=CarveEReviewcomment.class )
 public CarveEReviewcomment getCarveEReviewcomment() {
  return this.carveEReviewcomment;
 }

 

中mappedBy写错了,写成了mappedBy="carveEReviewcomment“,  这里的mappedBy需要从类(有外键一方)carveEReviewcomment对象中对该主类对象的引用

 

-------------------

其他可能原因:

 

OneToOne并使用外键生成器的时候需要持久化对象声明的顺序.被依赖的需要先声明

这个异常是出现在我一个类依赖另一个类来生成主键的时候产生
这时候应该注意的是mapping class的声明顺序,
例如下面,如果Role类依赖User的某个属性(例如我的情况是Role使用foreign key generator根据User的主键生成Role的主键)
这时候就需要先声明User然后声明Role,否则会出现上面的异常.

<hibernate-configuration>
<session-factory>
<mapping class="model.User" />
<mapping class="model.Role" />
</session-factory>
</hibernate-configuration>

 

 

标签:mappedBy,Hibernate,carveEReviewcomment,主键,Role,User,OneToOneSecondPass,NullPoint
From: https://blog.51cto.com/u_16200746/6803330

相关文章

  • hibernate的使用总结 结合spring
    一、整体的hibernate流程。首先我们通过web.xml中可以找到spring的配置文件(往往我们可以把spring配置文件分为多个:Dao相关的,logic相关的各种logic的bean,表现层相关的各种action的bean),其中在dao相关的配置中,我们可以通过配置dataSource/某种连接池,sessionF......
  • SVN 签出源码 Struts Spring Hibernate
    SVN签出源码StrutsSpringHibernate很多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习,都是一大幸福之事啊!Apache的SVN库,强烈推荐!http://svn.apache.org/repos/asf/里面不但有Struts的源码,还有著名的Apachejakartaproject相当好的WebUI框......
  • hibernate和mybatis的区别
    Hibernate和MyBatis都是目前业界中主流的对象关系映射(ORM)框架,它们的主要区别如下。1)sql优化方面Hibernate使用HQL(HibernateQueryLanguage)语句,独立于数据库。不需要编写大量的SQL,就可以完全映射,但会多消耗性能,且开发人员不能自主的进行SQL性能优化。提供了日志、缓存......
  • Hibernate详细教程
    Hibernate学习总结----一、搭建Hibernate环境1.在src目录下创建hibernate.cfg.xml配置文件PS:文件的名字不能改!<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN&......
  • NHibernate主键生成方式
    User.hbm.xml<?xmlversinotallow="1.0"encoding="utf-8"?><hibernate-mappingxmlns="urn:nhibernate-mapping-2.2"><classname="PreordainSolution.PreordainModel.User,PreordainSolution.PreordainModel&quo......
  • 介绍Hibernate使用UserType - 51CTO.COM
     介绍Hibernate使用UserType这里介绍Hibernate使用UserType,UserType就是用户自定义类型,这里的类型指的是除了Hibernate定义的那些类型之外的用户自己定义的。AD: Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate使用UserType,包括介绍UserType就是用户自定义类型......
  • 7. JPA - Hibernate【从零开始学Spring Boot】
      在说具体如何在springboot使用Hibernate前,先抛装引玉些知识点?什么是JPA呢?JPA全称JavaPersistenceAPI.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。http://baike.baidu.com/link?url=LdqIXvzTr0RDjY2yoRdpogDdzaZ_L-DrIOpLLzK1z38......
  • Hibernate持久化时,持久化enum属性,带字符串
    Hibernate持久化时,持久化enum属性,带字符串如果不带字符串,在从数据库到对象的转换中会转换失败,且在数据库存放的内容为其在enum中的下标(0,1,2)首先定义一个enum类,总共有四个状态publicenumStatus{unreviewed("未审核"),reviewed("已审核"),submitted("已提交"),cancelled(......
  • Hibernate入门
    Hibernate加入maven依赖<!--hibernate--><dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><version>3.12.0.GA</version>&l......
  • Hibernate3.x版本使用时遇到的异常
    换高版本的5.x就不会遇见,然后是因为少了一个依赖(竟然没在自己的导包配置里引用?还得自己加)maven中加<dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><version>3.12.0.GA</version>......