首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

org.hibernate.PropertyValueException: not-null property references a

2013-09-11 
hibernates删除数据的问题jsp页面1%@ page languagejava importjava.util.*,org.hibernate.Session,

hibernates删除数据的问题
jsp页面1

<%@ page language="java" import="java.util.*,org.hibernate.Session,
org.hibernate.Transaction,com.SessionFactory,org.hibernate.Query,
org.hibernate.cfg.Configuration,com.orm.Adminuser" pageEncoding="gb2312"%>

<%



Session s = SessionFactory.getSession();
Query q = s.createQuery("from Adminuser");
List list = q.list();
if(list.isEmpty())
out.print("error!");
else
{  
for (Iterator it = list.iterator(); it.hasNext(); ) 
{
  Adminuser ui = (Adminuser) it.next();
  out.println(ui.getId());
  out.println(ui.getLoginname());
  out.println(ui.getTruename());
   
out.print("<a href=adminupdate.jsp?id="+ui.getId()+">编辑</a>");  
out.print("<a href=admindel.jsp?id="+ui.getId()+">删除</a>");
  out.println("<BR>");
  }
}
s.close();



%>




jsp页面2为(我想从页面1传ID的值到这个页面,通过ID判断删除的具体行)

<%@ page language="java" import="java.util.*,org.hibernate.Session,
org.hibernate.Transaction,com.SessionFactory,org.hibernate.Query,
org.hibernate.cfg.Configuration,com.orm.Adminuser" pageEncoding="GBK"%>
<%request.setCharacterEncoding("GBK");%>
<%
long id=Long.parseLong(request.getParameter("id"));
Session s = SessionFactory.getSession();
org.hibernate.Transaction t = s.beginTransaction();
Adminuser u1=new Adminuser();
u1.setId(new Long(id));
s.delete(u1);
t.commit();
s.close();
 %>  


结果提示错误了!




如下:
HTTP Status 500 - 

--------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: An exception occurred processing JSP page /admindel.jsp at line 11

8: org.hibernate.Transaction t = s.beginTransaction();
9: Adminuser u1=new Adminuser();
10: u1.setId(new Long(id));
11: s.delete(u1);
12: t.commit();
13: s.close();
14:  


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause 

org.hibernate.PropertyValueException: not-null property references a null or transient value: com.orm.Adminuser.loginname
org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
org.hibernate.event.def.DefaultDeleteEventListener.deleteEntity(DefaultDeleteEventListener.java:173)
org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:110)
org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:761)
org.hibernate.impl.SessionImpl.delete(SessionImpl.java:739)
org.apache.jsp.admindel_jsp._jspService(admindel_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)


javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.


--------------------------------------------

Apache Tomcat/6.0.14




求各位仁兄指点,不胜感激!

[解决办法]

[解决办法]
jf
[解决办法]
不能对临时对象调用DELETE方法,

Java code
Adminuser u1=new Adminuser();
[解决办法]
Session s = SessionFactory.getSession(); 
org.hibernate.Transaction t = s.beginTransaction(); 
Adminuser u1=s.get(Adminuser.class,id); //注意这行
s.delete(u1); 

[解决办法]
Adminuser u1= (Adminuser) session.get(Adminuser.class,new Long(id));


[解决办法]
这个问题我也遇到过,我现在加了一个群,这个群人气较好,也的确有高手,不但可以交流问题,而且还可以接项目赚钱,QQ群号是:陆.肆.柒.玖.捌.柒.玖.贰,不要说我做广告,看看便知,如需要的话加入试试,如果你发现好的交流群也别忘了告诉我啊!呵呵!
我的异常网推荐解决方案:An exception occurred processing JSP page,http://www.myexception.cn/j2se/33144.html
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行