Java 我怎样才能找到确切的错误呢?
我得到下面的错误。但是我找不到错误是什么Java 我怎样才能找到确切的错误呢?,java,hibernate,nullpointerexception,hibernate-mapping,hibernate-annotations,Java,Hibernate,Nullpointerexception,Hibernate Mapping,Hibernate Annotations,我得到下面的错误。但是我找不到错误是什么 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.hib
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
提前感谢。异常称为
NullPointerException
,表示您试图使用未创建的对象,这通常发生在您声明对象时,忘记创建对象并尝试使用它。找到配置的源代码,转到第1481行,该行中使用了一个引用,该引用为null
然后挖掘这个引用是如何分配的,并追踪它
或者你可以调试它。由于你没有指出关于你的类的更多信息,请查看以获取指向上述错误的指针…我刚刚偶然发现了这个问题和@BlackJoker的建议,尽管有点泛化正是我们应该做的 在我的例子中,错误发生在第1499行的hibernate core:4.3.1.Final中,但有相同的错误 代码尝试解析和外键/映射。我有一个带有@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可以解决此问题
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
放入私家车中,但找不到私家车对象 我非常怀疑OP是一个hibernate作者,它与某些配置有关[1]: