我收到以下错误。但我无法找到错误是什么。
Caused by: java.lang.NullPointerException
at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1481)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1419)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1375)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:717)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 91 more
提前致谢。
答案 0 :(得分:1)
找到Configuration的源代码,转到第1481行,该行使用了引用,引用为null。
然后挖掘如何分配此引用,并追溯它。
或者你可以调试它。
答案 1 :(得分:1)
我只是偶然发现了这个问题和@BlackJoker的建议,虽然有点通用的确是应该做的。
在我的情况下,错误发生在hibernate-core:第1499行的4.3.1.Final但是有相同的错误。
代码尝试解析和外键/映射。我有一个带有@OneToOne映射的实体,其类型不是所需的实体而是字符串。
c = [['mf1234','james','22','man'],['mcs345','Anne','23','women]]
删除映射或用有效实体替换java.lang.String可以解决问题。
答案 2 :(得分:0)
由于您尚未对课程进行更多指示,请查看Hibernate throwing NullPointerException - processFkSecondPassInOrder以指出上述错误......
答案 3 :(得分:0)
Caused by: java.lang.NullPointerException
at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1481)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1419)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1375)
该错误意味着您将注释放在缺少的对象上。例如:您将@JoinColumn
放入private Car car
,但Car
对象无处可寻。
答案 4 :(得分:-2)
该异常称为NullPointerException
,表示您正在尝试使用未创建的对象,这通常发生在您声明对象时,忘记创建它并尝试使用它。