为什么我得到这个NullPointer异常? [英] Why am I getting this NullPointer exception?
本文介绍了为什么我得到这个NullPointer异常?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
两个表,一个主键是另一个的外键(Legacy DB)
我使用双向一对一映射:
Two tables, primary key of one is foreign key of another (Legacy DB)
I used bi-directional one to one mapping:
@Entity
public class First {
@Id protected int a;
@OneToOne(mappedBy ="first", cascade = CascadeType.PERSIST)
@JoinColumn(name = "a")
protected Second second;
}
@Entity
public class Second {
@Id protected int a;
@OneToOne
@JoinColumn(name = "a", insertable = false)
First first;
}
问题出在运行时:
public class Persister {
public static void main(String[] args) {
EntityManagerFactory aEntityManagerFactory;
EntityManager aEntityManager;
aEntityManagerFactory =
Persistence.createEntityManagerFactory("bibit_notification_jpa");
aEntityManager = aEntityManagerFactory.createEntityManager();
Second aSecond = new Second();
aSecond.a = 1;
First aFirst = new First();
aFirst.a = 1;
aFirst.second = aSecond;
aEntityManager.getTransaction().begin();
aEntityManager.persist(aFirst);
aEntityManager.getTransaction().commit();
}}
,它抛出此异常:
Exception in thread "main" javax.persistence.PersistenceException: java.lang.NullPointerException
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:252)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at Persister.main(Persister.java:14)
Caused by: java.lang.NullPointerException
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1130)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:296)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1233)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:869)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:183)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:240)
... 4 more
推荐答案
这篇文章: http:// forum。 hibernate.org/viewtopic.php?t=970823)
似乎表明注释3.2.x存在某种问题。你用的是什么版本?如果它是3.2.x,请尝试3.3或3.4。
Seems to indicate that there's some kind of problem with annotations 3.2.x. What version are you using? If it's 3.2.x, try 3.3 or 3.4.
这篇关于为什么我得到这个NullPointer异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文