2012-04-23 132 views
2

我得到一個NPE,我不知道如何,我環顧了谷歌,似乎無法找到一個體面的答案,誰可以幫助我請出來。 堆棧跟蹤器指向的CustomerDaoImpl行是:Hibernate拋出nullpointerexception

return (CustomerPerk)this.sessionFactory.getCurrentSession().get(CustomerPerk.class, customerPerkPk); 


java.lang.NullPointerException 
at org.hibernate.type.EntityType.isEqual(EntityType.java:344) 
at org.hibernate.type.ComponentType.isEqual(ComponentType.java:172) 
at org.hibernate.engine.EntityKey.equals(EntityKey.java:119) 
at java.util.HashMap.get(HashMap.java:305) 
at org.hibernate.engine.StatefulPersistenceContext.getEntity(StatefulPersistenceContext.java:368) 
at org.hibernate.impl.SessionImpl.getEntityUsingInterceptor(SessionImpl.java:656) 
at org.hibernate.event.def.DefaultLoadEventListener.loadFromSessionCache(DefaultLoadEventListener.java:533) 
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:440) 
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227) 
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285) 
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152) 
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090) 
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005) 
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:998) 
at com.perkinator.dao.CustomerPerkDaoImpl.getCustomerPerk(CustomerPerkDaoImpl.java:32) 
at com.perkinator.service.CustomerServiceImpl.addPerkAmount(CustomerServiceImpl.java:169) 

的CustomerPerk映射

@Entity 
@Table(name = "customer_perk") 
public class CustomerPerk { 

@Id 
private CustomerPerkPk customerPerkPK = new CustomerPerkPk(); 

@Column 
private BigDecimal amountSpent; 

@Column 
private int timesVisited; 

@SuppressWarnings("unused") 
@Column(name="customer_id", nullable = false, insertable = false, updatable = false) 
private int customer; 

@SuppressWarnings("unused") 
@Column(name = "perk_id", nullable = false, insertable = false, updatable = false) 
private int perk; 

而且CustomerPerkPk

@Embeddable 
public class CustomerPerkPk implements Serializable { 

@ManyToOne 
private Customer customer; 

@ManyToOne 
private Perk perk; 
+1

您可以發佈「CustomerPerk」實體映射的相關部分嗎? – andih 2012-04-23 09:25:54

+0

np,只是做到了 – 2012-04-23 09:31:03

回答

相關問題