简体   繁体   English

无法使用Hibernate将数据持久化到数据库中

[英]Unable to persist the data into database using Hibernate

i written a simple web application registering users. 我写了一个简单的Web应用程序注册用户。 but iam getting error as below. 但我得到的错误如下。

INFO: Configuration resource: /com/vaannila/config/adminuser.hbm.xml
java.lang.NullPointerException
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1399)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1378)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1298)
    at com.vaannila.utility.FactoryUtil.<clinit>(FactoryUtil.java:18)
    at com.vaannila.service.AdminUserBO.addUser(AdminUserBO.java:17)
    at com.vaannila.delegate.AdminUserBusinessDelegate.addUser(AdminUserBusinessDelegate.java:11)
    at com.vaannila.action.AdminUserAction.addUser(AdminUserAction.java:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
    at com.vaannila.service.AdminUserBO.addUser(AdminUserBO.java:17)
    at com.vaannila.delegate.AdminUserBusinessDelegate.addUser(AdminUserBusinessDelegate.java:11)
    at com.vaannila.action.AdminUserAction.addUser(AdminUserAction.java:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
1123damuammudamodardamuchinni@gmail.com

Also below is the code at FactoryUtil class and BO class 以下是FactoryUtil类和BO类的代码

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class FactoryUtil {
    //Static Session Factory
        private static org.hibernate.SessionFactory sessionFactory;

        private FactoryUtil() {}

        static {

            //Creates the SessionFactory based on the XML Configuration
            try{
            Configuration configs = new Configuration();
            sessionFactory = configs.configure("/com/vaannila/config/adminuser.hbm.xml").buildSessionFactory();
            }catch(Exception e){
                e.printStackTrace();
            }
        }

        public static SessionFactory getInstance() {
            return sessionFactory;
        }

        public Session openSession() {
            return sessionFactory.openSession();
        }

        public Session getCurrentSession() {
            return sessionFactory.getCurrentSession();
        }

        public static void close() {
            if (sessionFactory != null)
                sessionFactory.close();
            sessionFactory = null;
        }

        public static FactoryUtil getSessionFactory() {
            // TODO Auto-generated method stub
            return null;
        }

}

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.vaannila.domain.AdminUserVO;
import com.vaannila.utility.FactoryUtil;

public class AdminUserBO {



    public void addUser(AdminUserVO auserVO) {
        // TODO Auto-generated method stub

        Session session = FactoryUtil.getInstance().openSession();
        Transaction transaction = null;
        Long singerId = null;

        try {
            transaction = session.beginTransaction();
            AdminUserVO userVO = new AdminUserVO();
            singerId = (Long)session.save(userVO);
            transaction.commit();
        }
        catch (HibernateException e) {
            transaction.rollback();
            e.printStackTrace();
        }
        finally {
            session.close();
        }


    }

}

Below is the mapping file. 下面是映射文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.vaannila.domain.AdminUserVO" table="users">
<id name="userId" type="int" column="userId" >
<generator class="increment"/>
</id>
<property name="userName">
<column name="userNm" />
</property>
<property name="password">
<column name="password" />
</property>
<property name="emailAddress">
<column name="emailId" />
</property>

</class>
</hibernate-mapping>

Please can anyone suggest me to resolve above issue 请任何人建议我解决上述问题

Edit 编辑

public class AdminUserVO implements java.io.Serializable{
    private String userName;
    private String userId;
    private String password;
    private String emailAddress;

    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmailAddress() {
        return emailAddress;
    }
    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }

}


User Name  damodar
User Id  damuammu
Password  1123
Email Address  damuchinni@gmail.com

Above is the data iam entering same is been printed in the stacttrace also. 以上是输入相同的数据也已在stacttrace中打印。

The Hibernate configure method Hibernate配置方法

public Configuration configure(String resource)
                        throws HibernateException

should take a path to your hibernate.cfg.xml file, NOT to a mapping file. 应该采用hibernate.cfg.xml文件的路径,而不是映射文件。 See http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/cfg/Configuration.html#configure%28java.lang.String%29 . 请参阅http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/cfg/Configuration.html#configure%28java.lang.String%29

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法使用Spring + Hibernate保留数据 - Unable to persist data using Spring + Hibernate 使用hibernate持久化/更新数据集合到数据库中 - persist/update collection of data into database using hibernate Java EE 7 +持久性+休眠:无法持久化数据 - Java EE 7 + Persistance + Hibernate: Unable to persist data 使用Hibernate无法将数据正确插入数据库 - Unable to insert data into database properly using Hibernate 使用spring + spring data jpa无法将数据持久化到mysql数据库中,为什么? - Unable to persist data into mysql database using spring + spring data jpa, Why? 无法使用Hibernate在适当的列表对象中填充数据库中的数据 - Unable to populate data from database in proper list object using hibernate 无法在Hibernate中使用HQL从数据库获取数据 - Unable to get data from database using hql in hibernate 使用Hibernate和WebService反序列化后,无法保留图形列表 - Unable to persist lists of a graph after deserializing, using hibernate and webservices 无法在HIbernate 4中保持OneToMany关系 - Unable to persist OneToMany relationship in HIbernate 4 如何使用hibernate将这个复杂的对象持久化到数据库? - how can I persist this complex object to database using hibernate?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM