
Hibernate
InnerVol
计算机专业起步较晚虽然菜但喜欢数学英语语文写代码专研的感觉看书写字
展开
-
Field 'id' doesn't have a default value错误解决方法
初学Hibernate写了一个实体类Person,然后打算在main()函数中用session对象的save()方法保存对象到数据库javee中。运行后控制台报 Field 'id' doesn't have a default value 错误提示。检查了配置文件和各个类的代码感觉没有问题,再运行仍报错。写的Person.hbm.xml映射文件如下图:主键类型获取原创 2017-11-07 14:13:47 · 23739 阅读 · 0 评论 -
Hibernate报这个错误,如何解决?
Hibernate运行之后错误信息如下所示:org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:124)at org.hibernate原创 2017-10-29 23:48:58 · 665 阅读 · 0 评论 -
Hibernate提示service.spi.ServiceException
Hibernate运行之后,控制台提示以上错误,hibernate服务接口异常,可能是配置出错。检查发现,自己的hibernate.cfg.xml文件中 hibernate.connection.provider_class属性中单词写错。应为org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider。更改后原创 2017-11-04 00:19:51 · 1226 阅读 · 0 评论 -
org.hibernate.event.def.DefaultDeleteEventListener - handling transient entity in delete processing
运行刚写的Hibernate工程提示org.hibernate.event.def.DefaultDeleteEventListener - handling transient entity in delete processing错误信息,查看数据库并未将对应记录删除。 查找原因发现Hibernate删除方法能够删除的只能是persistence对象。不能是通过new创建的示例。即能原创 2017-11-14 16:52:18 · 1722 阅读 · 1 评论 -
on release of batch it still contained JDBC statements
在运行HIbernate工程中出现这个提示信息。发现自己用来测试的new示例并未使数据库中记录更新。突然想到刚才测试删除操作时所犯的错误。Hibernate的删除和更新操作,只对persistence对象有效,即这些对象已存在于数据库中(可以是你通过查找操作从数据库中刚取出的对象)。而不能用new出来的实例(即使这个实例的字段跟数据库中一条记录的完全相同)来作为测试用例。原创 2017-11-14 17:14:32 · 5734 阅读 · 1 评论 -
jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0' for key 'PRIMARY'错误
今天在运行写好的项目时报了这么一个错误(主键重复,0主键已经存在)。。。后来检查了一下数据库,数据库中表User的id属性已设置为自增,而我在HQL语句中把user.id(主键)写进去企图更新它?所以去掉对主键的更新语句后运行正常。原创 2018-01-08 18:45:51 · 13980 阅读 · 0 评论 -
Expected positional parameter count: 1, actual 0 错误
错误上说:设置了参数位,实际没有?嗯,回去检查了HQL语句,发现一个方法中的HQL中设置了参数位,并且使用它作为参数创建了一个Query对象,但忘记设置这个参数了。。。好吧,添上query.setParameter(* , ***)后正常。原创 2018-01-08 18:54:49 · 1331 阅读 · 0 评论 -
异常:org.hibernate.NonUniqueResultException: query did not return a unique result: 5
Hibernate使用Query接口的uniqueResult()方法查询结果数大于一时,会出现这个异常。说明你查询的这条记录在数据库中不只对应一条。当查询的结果集中记录数不唯一时,可以使用其query.list()方法来实现查询问题。原创 2018-01-10 14:51:05 · 6564 阅读 · 0 评论