Hibernate异常:IllegalArgumentException

异常信息:

 1 java.lang.IllegalArgumentException: attempt to create delete event with null entity
 2     at org.hibernate.event.spi.DeleteEvent.<init>(DeleteEvent.java:31)
 3     at org.hibernate.internal.SessionImpl.delete(SessionImpl.java:860)
 4     at com.geore.test.TestDemo4.fun2(TestDemo4.java:77)
 5     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 6     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 7     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 8     at java.lang.reflect.Method.invoke(Method.java:601)
 9     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
10     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
11     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
12     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
13     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
14     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
15     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
16     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
17     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
18     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
19     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
20     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
21     at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
22     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
23     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
24     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
25     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
26     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
27     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

错误代码:

1 // 第一步:查找用戶
2    Users user = session.get(Users.class, "4028d4015e6ebff8015e6ebffffd0004");
3    session.delete(user);

异常原因:

  从异常信息的显示来看,很容易看出来产生异常的原因,是因为存在null对象,切这个对象在调用Hibernate的Session类的delete()方法。那么很显然user对象为空,Hibernate没有通过get()方法查找到Users对象。那么这个原因就是处在给的查询条件是不存在的,因此是id在数据库中不存在,因此找不到此条记录,因此出现异常。将id改成一个存在的值即可。

正确的解决代码:

1 // 第一步:查找用戶
2     Users user = session.get(Users.class, "4028d4015e6ebff8015e6ebfffa60000");
3     session.delete(user);
时间: 2024-10-25 19:52:53

Hibernate异常:IllegalArgumentException的相关文章

异常org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.mi.domain.Department.id

[异常提示] org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.mi.domain.Department.id  java.lang.IllegalArgumentException: object is not an instance of declaring class 解决办法:Hql 中的级联关系不能传入外键,而是要传入级联对象,学习还是要认真仔细啊

org.hibernate.PropertyAccessException: IllegalArgumentException occurred while

导致异常结果: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.zxr.shoucang.domain.MySite.isShare .... Caused by: java.lang.IllegalArgumentException: argument(论点) type mismatch(翻译:类型不匹配(错配)) 这个异常java.lang

Hibernate 异常 : Error parsing JNDI name [xxx]

初学 Hibernate ,用官方给的日志模板配置好了日志,跑起小例子, 控制台中的日志里写了一些异常: 21:16:36,036 DEBUG EntityLoader:146 -  Static select for entity cn.sjll.hibernate435.model.UserModel  [OPTIMISTIC_FORCE_INCREMENT]: select usermodel0_.ID as ID1_0_0_,  usermodel0_.NAME as NAME2_0_0

利用struts进行前端页面间传值及hibernate异常:a different object with the same identifier value was already associated with the session的总结

2017-3-16 我使用SSH框架在做单表CRUD的更新操作时遇到了一个问题,就是页面间该怎么传值?解决该需求时引发了一系列的bug,趁还记得好好总结一番. 前端页面间传值 情景:在我查出所以记录后,点击修改会链接到新的修改页面. 问题:该新页面没有之前的实体信息,该如何传递要修改的实体信息给该页面,例如id? 思路1:利用struts的action来传值. 1 <form action="deleteSerCate.action" method="post"

Hibernate异常:java.lang.NoClassDefFoundError: org/objectweb/asm/Type

解决方法:将Hibernate lib包下的asm.jar添加到项目的library中. 解决方法:将Hibernate lib包下的cglib-2.1.3.jar添加到项目的library中.  Hibernate异常:java.lang.NoClassDefFoundError: org/objectweb/asm/Type

Hibernate 异常总结

异常一 异常一 异常描述: Sax解析异常:cvc-复杂的类型,发现了以元素maping开头的无效内容,应该是以 '{"http://www.hibernate.org/xsd/orm/cfg":property, "http://www.hibernate.org/xsd/orm/cfg":mapping, "http://www.hibernate.org/xsd/orm/cfg":class-cache, "http://www.

Hibernate异常之命名查询节点未找到

异常信息: 1 java.lang.IllegalArgumentException: No query defined for that name [salaryEmps] 2 at org.hibernate.internal.AbstractSharedSessionContract.getNamedQuery(AbstractSharedSessionContract.java:578) 3 at org.hibernate.internal.AbstractSharedSessionC

hibernate异常之QueryException

org.hibernate.QueryException: Expected positional parameter count: 1, actual.... 显示这样的异常 错误部分代码: String hql="from Customer where username=?";        Query query =session.createQuery(hql); 改正之后: String hql="from Customer where username=?&quo

Hibernate异常--数据库所在服务器关闭引起的异常

春节前要回家去的日子,一切准备就绪,项目初期版本也已经基本上完成.本来想着可以愉快的回家了,结果在给导师演示的时候报出一堆的异常,之前测试的时候很正常,关键时候就报了一堆bug,你能理解我当时的心情是多么的复杂吗?在此记录下这个异常,以便以后再次遇到的时候可以立刻意识到是哪里的问题. 异常的信息如下: 由于异常信息比较多,我在上面进行解释并阐述一下我找到问题根源的思路: 1. 看异常的开头部分显示的是struts异常,这时候不能说一定就是struts的问题,因为往往异常的抛出是这样的一个过程,比