我正在構建一個使用Spring MVC,Hibernate,JBoss Tools和JSF的Web應用程序框架。我已經設法通過使用JBoss Tools來生成域類和DAO類,但是,當我嘗試構建任何DAO對象時(在構建服務的那一刻,最終服務將被注入到控制器中),我收到JNDI錯誤。我使用Tomcat 7作爲AS。我希望能夠解決這個問題。JNDI與Tomcat和休眠的會話工廠錯誤
控制器代碼:
AuthorHome ah = new AuthorHome();
Author a = ah.findById(1);
DAO /服務代碼:
public class AuthorHome {
private static final Log log = LogFactory.getLog(AuthorHome.class);
private final SessionFactory sessionFactory = getSessionFactory();
protected SessionFactory getSessionFactory() {
try {
return (SessionFactory) new InitialContext().lookup("SessionFactory");
} catch (Exception e) {
log.error("Could not locate SessionFactory in JNDI", e);
throw new IllegalStateException(
"Could not locate SessionFactory in JNDI");
}
}
}
堆棧跟蹤:
javax.naming.NameNotFoundException:名稱SessionFactory的是不是在這方面 約束在org.apache.naming.NamingContext.lookup(NamingContext.java:803) at org.apache.naming.NamingContext.lookup(NamingContext.java:159) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158) at javax.naming.InitialContext.lookup(Unknown Source) at com .webapplication.service.AuthorHome.getSessionFactory(AuthorHome.java:31) 在com.webapplication.service.AuthorHome。(AuthorHome.java:26)
謝謝你的參考。我沒有通過使用建議的內容來解決問題,但是,它的確引導我朝着正確的方向發展,我相信它將在未來有用。這真的很傻,服務找不到我的hibernate.cfg.xml,因爲它引用的路徑不正確。 – unknown 2012-03-18 20:55:17