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) 
    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 

在此先感谢。

+1

它关系到一些配置 [1]:http://stackoverflow.com/questions/9302993/hibernate-throwing-nullpointerexception-processfksecondpassinorder – PSR 2013-03-16 10:26:25

回答

-2

该异常被称为NullPointerException,它表明您正在尝试使用未创建的对象,这通常发生在您声明对象时,忘记创建它并尝试使用它。

+0

我非常怀疑的OP是休眠作者 – radai 2013-03-16 10:26:20

1

找到配置的源代码,去行1481,则在该行使用的基准和基准为空。

然后挖掘该引用是如何分配的,并追溯回来。

或者你可以调试它。

1

我只是偶然在这个问题上,并@ BlackJoker的建议虽然有点普通正是应该做什么。

在我的情况下,误差在休眠核发生:4.3.1.Final上线1499,但具有相同的错误。

该代码尝试解析和外键/映射。我有一个具有@OneToOne映射的实体,其类型不是所需的实体,而是字符串。

@Entity 
@Table(name = "MyTable") 
public class BrokenEntity { 

    @Id 
    @Column(name = "id") 
    private String flow; 

    @Id 
    @JoinColumn(name = "other_id") 
    @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) 
    private String group;// Now hibernate tries to map the String as entity and fails! 
} 

删除映射或用有效的实体替换java.lang.String可以解决问题。

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对象无处可寻。