1

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 を操作しようとしたので、接続は問題ないはずです。アイデアを教えてください。

4

0 に答える 0