![](/img/trans.png)
[英]java.lang.stackoverflowerror when adding to a Linked-List
[英]java.lang.StackOverflowError when creating a list query
我想比較查詢中的兩個日期 - 我收到以下錯誤
EJB 異常::org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1603) 處的 java.lang.StackOverflowError 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1625) ) at sun.reflect.GeneratedMethodAccessor523.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at weblogic.persistence。 BasePersistenceContextProxyImpl.invoke(BasePersistenceContextProxyImpl.java:110) at weblogic.persistence.TransactionalEntityManagerProxyImpl.invoke(TransactionalEntityManagerProxyImpl.java:79) at weblogic.persistence.BasePersistenceContextProxyImpl.invoke(BasePersistenceContext9ProxyImpl.java:110) at weblogic.persistence.TransactionalEntityManagerProxyImpl.invoke(TransactionalEntityManagerProxyImpl.java:79) createQuery(Unknown Source) at model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:67) at model.Services.SessionEJBDossierBean.getDossierFindAll ParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)在model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)在model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)在model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java :73)在model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)在model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)在模型。 Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73) at model.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73) at mode l.Services.SessionEJBDossierBean.getDossierFindAllParDepartementDBTECHandUrgen(SessionEJBDossierBean.java:73)
這是我的代碼
public List<Dossier> getDossierFindAllParDepartementDBTECHandUrgen() {
Calendar myFiveDaysAhead;
myFiveDaysAhead = Calendar.getInstance();
myFiveDaysAhead.add(Calendar.DATE, 5);
TypedQuery<Dossier> query;
query =
em.createQuery("SELECT d FROM Dossier d WHERE d.depid=1 AND d.typeDossier = :tpd AND " +
"d.dateCreation < :fiveDaysAhead", Dossier.class);
query.setParameter("tpd", "Urgent");
query.setParameter("fiveDaysAhead", myFiveDaysAhead, TemporalType.TIMESTAMP);
return getDossierFindAllParDepartementDBTECHandUrgen();
}
你返回:
getDossierFindAllParDepartementDBTECHandUrgen()
所以發生了無限遞歸。
你的方法調用方法,調用方法...
顯然沒有退出方法的基本情況,試試這個
public List<Dossier> getDossierFindAllParDepartementDBTECHandUrgen() {
...
return query.getResultList();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.