Iam新增了hibernate.Now嘗試使用hibernate將用戶詳細信息保存到我的數據庫。爲此,我創建了3個.java文件。代碼如下 hiberpack包;嘗試使用休眠保存數據時出現NullPointerException
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HiberUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration().configure()
.buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
2.next是DbMap.java
package hiberpack;
import javax.persistence.Column;
import javax.persistence.Entity;
//import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "user_details")
public class DbMap {
@Id
//@GeneratedValue
@Column(name = "id")
private long id_auto;
@Column(name = "name", nullable = false)
private String username;
@Column(name = "Smobile", nullable=false)
private String mobnum;
public long getId_auto() {
return id_auto;
}
public void setId_auto(long id_auto) {
this.id_auto = id_auto;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getMobnum() {
return mobnum;
}
public void setMobnum(String mobnum) {
this.mobnum = mobnum;
}
}
3.Below在UserSave的servlet
package servlets;
import hiberpack.DbMap;
import hiberrepo.Repository;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserSave extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Repository rep = new Repository();
String name = request.getParameter("uname");
String mp = request.getParameter("mob");
DbMap st = new hiberpack.DbMap();
st.setUsername(name);
st.setMobnum(mp);
rep.insertStock(st);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
}
4.Below是Repository.java
package hiberrepo;
import hiberpack.HiberUtil;
import hiberpack.DbMap;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class Repository {
SessionFactory sf = HiberUtil.getSessionFactory();
Session sfSession = null;
public void insertStock(DbMap storeObj)
{
sfSession.save(storeObj);
}
}
它顯示空指針異常我試圖進入d ATA到使用hibernate.The錯誤消息db是如下
java.lang.NullPointerException
hiberrepo.Repository.insertStock(Repository.java:15)
servlets.UserSave.doPost(UserSave.java:25)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
讀取異常堆棧跟蹤:錯誤發生在Repository.java的第15行。然而,這是你在問題中沒有向我們展示的唯一一類。 –
@JBNizet這是存儲庫文件.Thanx提前... :) –