引用
exception
javax.servlet.ServletException: org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.grxxh.heen.Heen.cname; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.grxxh.heen.Heen.cname
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:514)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.grxxh.heen.Heen.cname; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.grxxh.heen.Heen.cname
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:630)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:690)
com.grxxh.heen.dao.impl.HeenDAO.save(HeenDAO.java:38)
com.grxxh.heen.service.impl.HeenService.addHeen(HeenService.java:24)
com.grxxh.struts.action.AddHeenAction.execute(AddHeenAction.java:58)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.hibernate.PropertyValueException: not-null property references a null or transient value: com.grxxh.heen.Heen.cname
org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:693)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:690)
com.grxxh.heen.dao.impl.HeenDAO.save(HeenDAO.java:38)
com.grxxh.heen.service.impl.HeenService.addHeen(HeenService.java:24)
com.grxxh.struts.action.AddHeenAction.execute(AddHeenAction.java:58)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
几种解决办法:
1.其中有一个字段不允许为空,需要给它赋值就可以了
2.DataIntegrityViolationException
not-null
你把数据库中的属性全都改为允许为空!解决问题!
非空属性引用了一个空的或者瞬时(游离状态)的值,可能是引用的值还没有进行持久化吧,还处于游离状态
以上是别人的办法 , 我的还没解决呢! 解决了之后再来补充!
补充:
我的问题错在JSP页面form里面input的name跟我后台框架的name属性不对应,所以取值没取回来。简单说,我把name的大小写没区分。尴尬啊尴尬!
分享到:
相关推荐
修改内容:将项目中有关拦截异常 DataIntegrityViolationException 的相关 InsertOrUpdate方法,将DataIntegrityViolationException修改为RuntimeException 是否测试通过:通过 其它:其它数据库在与Nacos适配时,...
Ibatis,全称为MyBatis,是一款开源的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,极大地简化了数据访问层的编写工作。在本压缩包中,包含两个核心的JAR文件:`ibatis-common-2.jar`和`ibatis-sqlmap...
org.springframework.dao.DataIntegrityViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#50001]; SQL [delete from JBPM4_EXECUTION where DBID_=? and DBVERSION_=?]; ...
DataIntegrityViolationException DataRetrievalFailureException DataSourceLookup DataSourceLookupFailureException DataSourceTransactionManager DataSourceUtils DB2SequenceMaxValueIncrementer ...
JDBC驱动抛出的异常通常是SQLException及其子类,如BatchUpdateException、DataIntegrityViolationException等。捕获这些异常可以帮助开发者定位并解决数据库操作中的问题。 7. **性能优化**: 使用...
Spring Framework是一个开源的Java平台,它提供了全面的编程和配置模型,适用于企业级应用程序的开发。随着版本的更新,Spring引入了新特性和改进,例如对注解的更好支持、对异步处理的改进、对RESTful Web服务的...
Spring Data JPA是Spring框架的一个模块,用于简化Java Persistence API(JPA)的使用,它提供了与各种数据存储系统交互的高级抽象。本项目是一个基于IntelliJ IDEA的实例,展示了如何在Spring应用中整合Spring Data...
Java Spring Boot 1.5.22 是一个流行的微服务框架,它简化了Spring应用程序的开发过程。这个版本是Spring Boot的稳定版本之一,提供了许多功能和改进,使其成为企业级应用开发的理想选择。JPA(Java Persistence API...
该异常层次结构是 Spring 框架中 DAO(Data Access Object)模块的一部分,其目的是为了提供一个统一的错误处理机制,使得开发者可以更方便地处理数据访问层中的错误。 DataAccessException 是一个 ...
Java直连包,正如其名,是专门为Java应用程序设计的,用于实现与Microsoft SQL Server数据库的直接连接。这个包包含了必要的驱动程序和其他组件,使得Java开发者可以利用JDBC(Java Database Connectivity)API来与...
SpringBoot整合持久层技术是Java开发中的重要环节,它简化了传统的数据访问配置,使得开发者可以更加专注于业务逻辑。在SpringBoot中,我们通常会利用其内置的数据访问框架,如JPA(Java Persistence API)和MyBatis...
在Java的Spring框架中,JDBC(Java Database Connectivity)模块提供了对数据库操作的支持,使得开发者可以方便地进行数据存取。Spring JDBC通过一系列抽象层,简化了传统的JDBC编码,提高了可读性和可维护性。下面...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java标准版(Java SE)的一部分,允许开发者在Java应用程序中执行SQL语句,从而实现数据的增删改查操作。...
JDBC(Java Database Connectivity)是Java编程语言中用于访问数据库的标准Java API,它允许Java开发者在程序中执行SQL语句,从而实现对数据库的增删改查操作。本JDBC学习手册涵盖了JDBC的核心知识点,旨在为初学者...
在Java开发领域,Spring Boot以其简洁的配置和强大的功能,成为构建现代Web应用的首选框架。而Java Persistence API(JPA)作为Java领域主流的对象关系映射(ORM)解决方案,使得开发者可以使用面向对象的方式处理...
Java语言的SQL接口,即Java Database Connectivity(JDBC),是Java平台中用于与关系数据库进行交互的一组标准API。JDBC允许Java开发者执行SQL语句,处理结果集,以及管理数据库连接。它作为桥梁,使得Java应用程序...
在上面的代码中,我们使用 try-catch 语句来捕获 DataIntegrityViolationException 异常,并断言 catchException 变量的值是否为 true。这时,我们可以确保我们的代码正确地处理了这个异常情况。 五、结论 本文...
在JDBC编程中,常见的异常包括`SQLException`及其子类,如`CommunicationsException`、`DataIntegrityViolationException`等。遇到异常时,应该捕获并适当地处理,确保程序的健壮性。 ### 性能优化 1. **批处理**...
在进行JDBC编程时,可能会遇到SQLException及其子类异常,例如CommunicationsException(网络通信异常)、DataIntegrityViolationException(数据完整性违反异常)等。因此,我们需要捕获并适当地处理这些异常,以...