你好我是Hibernate的新手。Hibernate-Spring Web容器錯誤
我用Hibernate Tools生成了一個數據庫訪問模塊。生成器生成DAOS和Hibernate Bean的代碼。
當我在一個簡單的Java應用程序中測試這個模塊時,所有工作都很好,但是當我在Spring Web應用程序中測試它時,出現了一個非常奇怪的錯誤。由於我的模塊是一個獨立的jar,因此應該訪問數據庫而不考慮在簡單的Java應用程序或Web應用程序中執行的情況。我的web應用程序的代碼是:
@Controller
@RequestMapping("/")
public class Controller implements ApplicationContextAware
{
private ApplicationContext applicationContext;
@RequestMapping(value = "/purchased/songs", method = RequestMethod.GET)
public String home(Model model)
{
SessionManager.startOperation();
ChargeTryDAOBase ctdb=new ChargeTryDAOBase();
List <ChargeTry> data=ctdb.findByRemoteId("dsfsdfsdf8");
SessionManager.endOperation();
model.addAttribute("result", "data");
return "home";
}
@Override
public void setApplicationContext(ApplicationContext arg0) throws BeansException
{
this.applicationContext = arg0;
}
}
當運行在Tomcat這個代碼,我得到以下錯誤:
org.springframework.web.util.NestedServletException: Handler processing
nested exception is java.lang.NoSuchMethodError:
org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/Session;
.....
java.lang.NoSuchMethodError:
org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/Session;
當我改變了一些Hibernate依賴我獲得以下錯誤:
java.lang.IllegalStateException: Could not locate SessionFactory in JNDI
當我在簡單的Java應用程序中測試上述代碼時,所有代碼都可以正常工作。
這是spring-hibernate的配置問題嗎?
謝謝你的幫助。
您是否在Spring配置文件中配置了所有必需的Hibernate屬性?你可以發佈這些嗎? – 2013-03-15 09:29:28
我的休眠屬性文件是: – amartin 2013-03-15 09:37:45
我有一個封裝了數據庫訪問功能的jar,並且在普通的Java應用程序中,我只需要添加這個模塊來訪問數據庫,它可以從零開始工作,但是使用Spring它不起作用。 – amartin 2013-03-15 10:01:19