`
shehun
  • 浏览: 27082 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

解决异常org.hibernate.exception.ConstraintViolationException: Could not execute JDBC

阅读更多
测试多对多关联时报错:
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:171)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.hibernate.manytomany.test.manytomany.add(manytomany.java:83)
at com.hibernate.manytomany.test.manytomany.main(manytomany.java:21)
Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (NM.FK2E2EF2DED58A35C3) violated - parent key not found

at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:458)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:3907)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
...

问题原因:由于类配置文件关联出现问题。

解决方案:修该类配置文件关联参数。

错误:
<hibernate-mapping package="com.hibernate.manytomany.domain">
	<class name="Teacher">
		<id name="id">
			<generator class="native"></generator>
		</id>
		<property name="name"></property>
		<set name="students" table="teacher_student">
			<key column="teacher_id"></key>
			<many-to-many class="Teacher" column="student_id"></many-to-many>
		</set>
	</class>
</hibernate-mapping>

<hibernate-mapping package="com.hibernate.manytomany.domain">
	<class name="Student">
		<id name="id">
			<generator class="native"></generator>
		</id>
		<property name="name"></property>
		<set name="teachers" table="teacher_student">
			<key column="student_id"></key>
			<many-to-many class="Teacher" column="teacher_id"></many-to-many>
		</set>
	</class>
</hibernate-mapping>


修改后的:
<hibernate-mapping package="com.hibernate.manytomany.domain">
	<class name="Teacher">
		<id name="id">
			<generator class="native"></generator>
		</id>
		<property name="name"></property>
		<set name="students" table="teacher_student">
			<key column="teacher_id"></key>
			<many-to-many class="Student" column="student_id"></many-to-many>
		</set>
	</class>
</hibernate-mapping>



分享到:
评论

相关推荐

    javaee三大框架整合宅急送项目lib包

    nested exception is org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#50001] 解决: hibernate.dialect=org.hibernate.dialect.MySQL5...

    精心整理的ssh2 一些错误问题的记录(推荐)

    ### 错误三:Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException 此错误表示在执行批量更新操作时违反了数据库约束,可能是外键约束、唯一性约束等...

    Hibernate In Action中文版

    10. 异常体系:理解Hibernate的异常体系,如ConstraintViolationException、HibernateException等,可以帮助开发者更好地处理错误。 11. 数据库连接管理:Hibernate通过ConnectionProvider管理数据库连接,支持多种...

    sfs2x中使用 hibernate3

    10. **异常处理**:在处理数据库操作时,需要捕获并适当地处理Hibernate的异常,如`HibernateException`、`ConstraintViolationException`等。 通过上述步骤,我们可以将Hibernate3与SFS2X结合,实现高效、便捷的...

    hibernate-validator-6.0.2

    无论是简单的业务场景还是复杂的验证逻辑,Hibernate Validator 都能提供优雅的解决方案。在实际开发过程中,结合其丰富的注解和灵活的扩展性,可以大大降低数据验证的复杂度,让开发者更加专注于业务逻辑的实现。

    学习hibernate第一章内容

    5. 异常体系:理解Hibernate的异常体系,如HibernateException、ConstraintViolationException等。 6. Session和Transaction:理解Session的生命周期和事务管理,以及它们在实际应用中的最佳实践。 本章作为...

    java错误大全(包括基本异常和开源框架出现的异常)

    Java错误大全涵盖了从基础异常到特定开源框架如Hibernate和Struts中可能出现的异常情况。以下是一些关键知识点的详细说明: 1. **错误类型:**Java中的错误通常分为两种主要类型,异常(Exception)和错误(Error)...

    hibernate-release-5.3.12.Final.zip

    1. 异常处理:了解Hibernate的异常体系,如ConstraintViolationException,OptimisticLockingFailureException等,以应对可能出现的问题。 2. 关联映射:掌握一对一、一对多、多对多关联的配置和使用,如@OneToOne, ...

    hibernate包

    Hibernate 有一套自己的异常体系,如 HibernateException、ConstraintViolationException 等,方便开发者捕获并处理错误。 这个“hibernate包”中可能包含了 Hibernate 的核心库、数据库驱动、配置文件等,确保...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day02

    11. 异常处理:学习Hibernate常见的异常,如ConstraintViolationException、ObjectRetrievalFailureException等,以及如何进行相应的错误处理。 12. 实战演练:结合提供的"代码"和"思路图",通过实际编写和运行代码...

    10_hibernate.rar

    Hibernate有一套自己的异常体系,如HibernateException、ConstraintViolationException等,帮助开发者定位和解决问题。 9. 高级特性 - 联合主键:多个字段共同组成主键。 - 继承映射:支持单表继承、多表继承等...

    Hibernate_Demo

    Hibernate抛出的异常通常继承自JDBC的SQLException,如ConstraintViolationException(违反约束),StaleObjectStateException(过时对象状态)等,需要正确捕获并处理。 通过【Hibernate_Demo】项目,开发者可以...

    hibernate_reference中文版和Hibernate中文手册

    11. 异常体系:Hibernate有一套完整的异常体系,如HibernateException、ConstraintViolationException等,这些异常可以帮助开发者识别和处理数据库操作中出现的问题。 12. 高级特性:包括 Criteria API、HQL、子...

    Hibernate开发所需的jar包

    - Hibernate抛出的异常通常继承自JDBC的SQLException,如ConstraintViolationException(违反约束),ObjectRetrievalFailureException(对象检索失败)等。 9. 批量操作: - 使用`Session.saveAll()`, `Session....

    夏昕.深入浅出Hibernate.zip

    8. 异常处理:在使用Hibernate时,可能会遇到如HibernateException、ConstraintViolationException等异常,了解这些异常的含义及处理方法对于排查问题至关重要。 9. 实战应用:书中通过实际的项目案例,详细展示了...

    hibernate帮助文档

    3. 异常体系:Hibernate有自己的异常体系,如HibernateException、ConstraintViolationException等,便于捕获和处理错误。 综上所述,Hibernate帮助文档详尽地介绍了如何在Java应用中有效地利用ORM技术,提升开发...

    hibernate-orm.zip

    Hibernate有一套自己的异常体系,如HibernateException、ConstraintViolationException等,这些异常可以帮助开发者快速定位和解决问题。 9. 扩展性与插件机制: Hibernate具有良好的扩展性,如插件化的缓存实现...

    java hibernate上课源码6

    Hibernate 抛出的异常如ConstraintViolationException(违反约束条件)、OptimisticLockingFailureException(乐观锁失败)等,需要在程序中适当地捕获和处理。 8. 批量操作: Hibernate 支持批处理,如批处理...

    Hibernate的小例子

    10. **异常处理**:了解Hibernate常见的运行时异常,如ConstraintViolationException,HibernateException等,以及如何处理它们。 11. **问题排查**:描述中提到的例子存在问题,这可能是配置错误,实体映射不正确...

    Hibernate_01_HelloWorld.rar

    12. **异常处理**:理解和处理Hibernate特有的异常,如HibernateException、ConstraintViolationException等,是使用过程中必须面对的。 这个"Hibernate_01_HelloWorld"示例很可能是展示了一个简单的Hibernate应用...

Global site tag (gtag.js) - Google Analytics