Oracle DB からデータを取得する簡単なアプリケーションがあります。
public class userExportImpl extends HibernateDaoSupport {
public User getUser (final String username) throws OssObjectNotFoundException, OssIllegalArgumentException
{
Session session = null;
SessionFactory sessionFactory = new
Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
User user= null;
createHibernateTemplate(sessionFactory);
user = (User)getHibernateTemplate().execute( new HibernateCallback()
{
public Object doInHibernate(Session session) throws HibernateException, SQLException
{
User user = (User) session.get(User.class, username);
return user;
}
});
session.close();
return user;
}}
getUser を呼び出す main() は次のとおりです。
public class userExportTool {
public static void main(String args[]){
userExportImpl userExport = new userExportImpl();
User user = userExport.getUser("test");
}}
そして、それは私がそれを実行しようとしたときに私が得る例外です:
Exception in thread "main" java.lang.NullPointerException
at com.tektronix.userExport.userExportImpl.getUser(userExportImpl.java:40)
at com.tektronix.userExport.uacnExportTool.main(uacnExportTool.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
最初は、getHibernateTemplate にはセッション ファクトリと開かれたセッションが必要だと思っていたので、それらを追加しましたが、それでも nullPointerException を受け取り、なぜそれが起こるのかわかりません。hibernate.cfg.xml と User.hbm.xml の両方が存在し、私はすでに session.get() のような単純な方法で db を操作しようとしたので、接続は問題ないはずです。アイデアを教えてください。