こんにちは、Hibernate を初めて使用します。
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 アプリケーションでテストすると、すべて正常に動作します。
これは春の休止状態の構成の問題ですか?
ご協力ありがとうございました。