- 浏览: 236152 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lwb314:
你的这个是创建的临时的hive表,数据也是通过文件录入进去的, ...
Spark SQL操作Hive数据库 -
yixiaoqi2010:
你好 我的提交上去 总是报错,找不到hive表,可能是哪里 ...
Spark SQL操作Hive数据库 -
bo_hai:
target jvm版本也要选择正确。不能选择太高。2.10对 ...
eclipse开发spark程序配置本地运行
org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbp
用jbpm4做流程时候将sqlserver数据库改为mysql数据库出现的问题,就是在流程结束时候不能正常结束,错误如下:
分析原因:是jbpm表我有外键关联,不能删除,可是用sqlserver数据库就可以正常结束流程,为什么换成mysql数据库就不行了呢?经过思考发现,可能是配置mysql数据库的配置文件有问题,最后发现是配置的mysql的方言的问题。
解决方法:
我的mysql方言配置如下:
这里我专门写了一个类,为了解决字段hibernate和java映射的错误。而原先这个类的代码如下:
要将该类中继承的MySQL5Dialect改为MySQLInnoDBDialect即可,改后的代码如下:
警告: SQL Error: 1451, SQLState: 23000 二月 28, 2013 11:05:58 上午 org.hibernate.util.JDBCExceptionReporter logExceptions 严重: Cannot delete or update a parent row: a foreign key constraint fails (`myworkflow`.`jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`)) 二月 28, 2013 11:05:58 上午 org.hibernate.event.def.AbstractFlushingEventListener performExecutions 严重: Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#10004] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2569) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2725) at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172) 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:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:412) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy9.addHandleTask(Unknown Source)
分析原因:是jbpm表我有外键关联,不能删除,可是用sqlserver数据库就可以正常结束流程,为什么换成mysql数据库就不行了呢?经过思考发现,可能是配置mysql数据库的配置文件有问题,最后发现是配置的mysql的方言的问题。
解决方法:
我的mysql方言配置如下:
<prop key="hibernate.dialect">com.sense.workflow.util.ExtMySQL5Dialect </prop>
这里我专门写了一个类,为了解决字段hibernate和java映射的错误。而原先这个类的代码如下:
package com.sense.workflow.util; import java.sql.Types; import org.hibernate.Hibernate; import org.hibernate.dialect.MySQL5Dialect; /** * mysql注册类型映射 * @author Kevin12 * */ public class ExtMySQL5Dialect extends MySQL5Dialect{ public ExtMySQL5Dialect(){ super(); this.registerHibernateType(Types.LONGVARCHAR, Hibernate.STRING.getName()); } }
要将该类中继承的MySQL5Dialect改为MySQLInnoDBDialect即可,改后的代码如下:
package com.sense.workflow.util; import java.sql.Types; import org.hibernate.Hibernate; import org.hibernate.dialect.MySQLInnoDBDialect; /** * mysql注册类型映射 * @author Kevin12 * */ public class ExtMySQL5Dialect extends MySQLInnoDBDialect{ public ExtMySQL5Dialect(){ super(); this.registerHibernateType(Types.LONGVARCHAR, Hibernate.STRING.getName()); } }
发表评论
-
Mysql tinyint和Sqlserver tinyint的区别,zerofill的使用
2016-11-05 22:05 1292数据库表设计的时候一定要注意: Mysql里面,tinyint ... -
ubuntu 15.10中msyql开启远程端口服务
2016-03-05 14:18 1071开启远程访问端口 首先查看端口是否打开 root@master ... -
sql中having和where区别
2014-01-07 16:11 858having和where区别: 1.不能在where子句中过滤 ... -
BigDecimal实现double精度计算
2014-01-07 16:08 1142java中的float 和double类型会发生精度丢失,为了 ... -
could not read column value from result set: NAME5_1_; 流已被关闭
2013-10-11 15:53 2152最近做流程项目数据库是oracle,获取流程处理人时候出现下面 ... -
hibernate 主键生成机制
2013-10-10 12:05 837链接网址:http://kevin12.iteye.com/b ... -
Dialect does not support identity key generation
2013-10-10 12:01 3019链接网址:http://kevin12.i ... -
struts2文件下载文件中文名称乱码解决
2013-09-26 14:57 3377链接地址:http://kevin12.iteye.com/b ... -
java 导出excel到客户端(本地)例子 用poi和servlet实现的
2013-08-22 16:05 5718最近做java的web项目,用到了excel导出到客户端(本地 ... -
把同一张表的一个字段的内容复制到另一个字段里
2013-08-20 11:23 1775今天搞mysql数据库时候用到将同一张表中一个字段中的内容复制 ... -
jbpm4 timer 定时器事件
2013-08-14 11:36 2024最近学习了jbpm4.X的定时器事件,下面是一个简单的测试,上 ... -
jbpm4 timer 定时器配置
2013-08-14 11:20 1573jbpm的定时器支持嵌入到状态节点(State),任务节点(T ... -
jbpm4.4基础知识
2013-08-09 11:24 1329来源:http://blog.163.com/hu ... -
jbpm4会签的学习
2013-08-05 18:01 1095会签,又称会审,也就 ... -
java中的HashSet
2013-08-01 17:48 1359HashSet集合 :不允许有重复的元素并且HashSet中元 ... -
java 中的NaN 和Infinity
2013-07-12 17:58 2956NaN是Not a Number的缩写,即不是一个数字。它不等 ... -
简单的 java 格式化数字用法
2013-07-11 18:42 1600有些时候将后台的数据显示到前台界面上要有一定的格式,比如,保留 ... -
mysql存储过程中的调试
2013-06-28 15:58 1206mysql存储过程的调试很麻烦,直接 select 变量,在调 ... -
javax.el.ELException: expression factory class not found
2013-06-27 21:43 2467jbpm4web项目部署流程时候出错: 信息: error ... -
<Context path="/files" docBase="D:\upload"></Context>
2013-06-18 11:36 5907发布到tomcat中的项目有 ...
相关推荐
nested exception is org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#50001] 解决: hibernate.dialect=org.hibernate.dialect.MySQL5...
nested exception is org.hibernate.exception.ConstraintViolationException 此错误表示在执行批量更新操作时违反了数据库约束,可能是外键约束、唯一性约束等。检查相关的SQL语句和数据库结构,确保没有违反任何...
6. CRUD操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)是数据库操作的基础,Hibernate提供了便捷的方法进行这些操作。 7. HQL(Hibernate Query Language):Hibernate特有的查询语言,类似...
5. CRUD操作:了解如何使用Hibernate进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据的基本步骤。包括保存、加载、更新、删除实体对象的方法。 6. HQL(Hibernate Query Language):学习...
5. 异常体系:理解Hibernate的异常体系,如HibernateException、ConstraintViolationException等。 6. Session和Transaction:理解Session的生命周期和事务管理,以及它们在实际应用中的最佳实践。 本章作为...
Hibernate 支持 Create(创建)、Read(读取)、Update(更新)和 Delete(删除)等基本数据库操作,通过 Session 接口的 save()、saveOrUpdate()、get()、load()、update()、merge()、delete() 方法实现。...
《Hibernate Validator 深度解析与应用指南》 Hibernate Validator 是一个基于 Java Bean Validation 规范的实现,它为 Java 应用程序提供了强大的验证框架。在本文中,我们将深入探讨 Hibernate Validator 的核心...
8. 异常处理:在使用Hibernate时,可能会遇到如HibernateException、ConstraintViolationException等异常,了解这些异常的含义及处理方法对于排查问题至关重要。 9. 实战应用:书中通过实际的项目案例,详细展示了...
Hibernate抛出的异常通常继承自JDBC的SQLException,如ConstraintViolationException(违反约束),StaleObjectStateException(过时对象状态)等,需要正确捕获并处理。 通过【Hibernate_Demo】项目,开发者可以...
Hibernate 抛出的异常如ConstraintViolationException(违反约束条件)、OptimisticLockingFailureException(乐观锁失败)等,需要在程序中适当地捕获和处理。 8. 批量操作: Hibernate 支持批处理,如批处理...
1. 异常处理:了解Hibernate的异常体系,如ConstraintViolationException,OptimisticLockingFailureException等,以应对可能出现的问题。 2. 关联映射:掌握一对一、一对多、多对多关联的配置和使用,如@OneToOne, ...
Hibernate有一套自己的异常体系,如HibernateException、ConstraintViolationException等,帮助开发者定位和解决问题。 9. 高级特性 - 联合主键:多个字段共同组成主键。 - 继承映射:支持单表继承、多表继承等...
- Hibernate抛出的异常通常继承自JDBC的SQLException,如ConstraintViolationException(违反约束),ObjectRetrievalFailureException(对象检索失败)等。 9. 批量操作: - 使用`Session.saveAll()`, `Session....
4. **异常处理**:整合后的系统需要考虑Hibernate的异常(如ConstraintViolationException)如何在Struts中适当地捕获和处理。 在实际开发中,Struts处理HTTP请求并控制流程,而Hibernate负责数据的持久化。这种...
5. CRUD操作:Hibernate提供了便捷的方法来完成创建(save()、persist())、读取(get()、load()、query())、更新(update()、merge())和删除(delete())对象的操作。其中,HQL(Hibernate Query Language)和...
6. **CRUD操作**:Hibernate提供了增删查改(Create, Read, Update, Delete)的操作接口,如save()、get()、update()、delete()等,方便地完成对数据库的操作。 7. **查询语言HQL**:Hibernate Query Language是...
**标题:“Hibernate的通用DAO”** 在Java编程领域,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,从而减少了对SQL的直接依赖。通用DAO(Data Access Object)是一...
6. **CRUD操作**:创建(persist),读取(get,load,query),更新(update),删除(delete)是Hibernate最基础的操作,我们将看到如何使用Session接口完成这些操作。 7. **HQL和Criteria查询**:Hibernate提供...
Hibernate有一套自己的异常体系,如HibernateException、ConstraintViolationException等,它们继承自JDBC的SQLException,有助于在开发过程中定位问题。 总之,Hibernate通过其强大的ORM能力,使得Java开发者能...
了解Hibernate的异常体系,如HibernateException、ConstraintViolationException等,有助于进行错误定位和处理。 通过上述内容,你应该对Hibernate有了基本的理解。在实际练习中,你可以创建一个简单的Java项目,...