< could not insert: [com.hibernate.*.* >

本文介绍Hibernate配置文件中hbm2ddl.auto属性的不同设置及其效果,包括create、validate、update及create-drop选项的作用。
hibernate.cfg.xml文件配置:
<!-- 配置是否自动生成数据表 -->
<property name="hbm2ddl.auto">create</property>

====================================
hbm2dll.auto 的值:

在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库. 使用 create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema.

取值 validate | update | create | create-drop


1.create:hibernate首先会发送一个drop语句,如果表存在则会被drop掉,然后hibernate再发送create语句创建表

2.validate:每次插入数据之前都会验证数据库中的表结构和hbm文件的结构是否一致。如果表不存在,则报错。

3.update:hibernate会首先查询数据库看是否存在此表,如果存在则不管,如果不存在则会先发送一个create语句创建一个表

4.create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema.
17:28:18.336 [] [/] [rmFlowDataTaskCli-1] ERROR com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl - dataTableCat:FLOW_TABLE,init Inst Data failed,rmDataYearId:616476130198458368,tableId:57,tableName:HD_CHARTS_LOG,sql:INSERT INTO HD_RM_DATA_INST_PRE(ID,RM_DATA_YEAR_ID,INSTID,TABLE_ID,DATA_ID,STATUS,OP_NO,ACCOUNT,CREATE_TM,LAST_MODIFY_TM)SELECT (P.INSTID || '_' || 57||'_W'|| '_' || LPAD(NEXTVAL('HD_RM_DATA_INST_PRE_SEQ')::TEXT, 10, '0')) ,P.RM_DATA_YEAR_ID, P.INSTID,57, D.INSTID,3,P.OP_NO,P.ACCOUNT, EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000, EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000 FROM HD_RM_DATA_INSTID_PRE P INNER JOIN HD_CHARTS_LOG D ON P.INSTID = D.INSTID WHERE P.RM_DATA_YEAR_ID ='616476130198458368' ORDER BY D.INSTID javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1621) at com.hd.rcugrc.product.oa.data.service.impl.RmCommonService.exceuteSql(RmCommonService.java:171) at com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl.initTableData(InstDataInitHandleServiceImpl.java:95) at com.hd.rcugrc.product.oa.data.handle.service.impl.CommonDataInitHandleServiceImpl.initAllTableData(CommonDataInitHandleServiceImpl.java:112) at com.hd.rcugrc.product.oa.data.handle.service.impl.CommonDataInitHandleServiceImpl$$FastClassBySpringCGLIB$$5c4e77dd.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl$$EnhancerBySpringCGLIB$$3eb0d113.initAllTableData(<generated>) at com.hd.rcugrc.product.oa.data.handle.service.impl.DataInitializationServiceImpl.initFlowData(DataInitializationServiceImpl.java:387) at com.hd.rcugrc.product.oa.data.handle.service.impl.DataInitializationServiceImpl$$FastClassBySpringCGLIB$$4b528780.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687) at com.hd.rcugrc.product.oa.data.handle.service.impl.DataInitializationServiceImpl$$EnhancerBySpringCGLIB$$ade7b6ed.initFlowData(<generated>) at com.hd.rcugrc.product.oa.data.handle.task.InitYearDataTableCatTask.run(InitYearDataTableCatTask.java:135) at com.hd.rcugrc.product.oa.data.handle.task.InitYearDataTableCatDelayTaskExecutorImpl.executeTask(InitYearDataTableCatDelayTaskExecutorImpl.java:164) at com.hd.rcugrc.product.oa.data.handle.task.InitYearDataTableCatDelayTaskExecutorImpl.lambda$startProcess$0(InitYearDataTableCatDelayTaskExecutorImpl.java:134) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: org.hibernate.exception.DataException: could not execute statement at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.engine.query.spi.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:107) at org.hibernate.internal.SessionImpl.executeNativeUpdate(SessionImpl.java:1507) at org.hibernate.query.internal.NativeQueryImpl.doExecuteUpdate(NativeQueryImpl.java:295) at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1612) ... 30 common frames omitted Caused by: com.kingbase8.util.KSQLException: No _value specified for _parameter 1. at com.kingbase8.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:483) at com.kingbase8.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:382) at com.kingbase8.jdbc.KbStatement.executeInternal_(KbStatement.java:784) at com.kingbase8.jdbc.KbStatement.execute(KbStatement.java:676) at com.kingbase8.jdbc.KbPreparedStatement.executeWithFlags(KbPreparedStatement.java:286) at com.kingbase8.jdbc.KbPreparedStatement.executeUpdate(KbPreparedStatement.java:216) at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 34 common frames omitted 17:28:18.336 [] [/] [rmFlowDataTaskCli-1] DEBUG com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl - 更新初始化数据状态开始 sql:UPDATE HD_RM_DATA_INIT_STATUS_PRE SET STATUS = ?,DATA_COUNT=?,LAST_MODIFY_TM = ?,ERROR_COUNT=(ERROR_COUNT+1),ERROR_INFO =? WHERE ID = ? ,dataStatus:DATA_DEAL_FAILED,tableId:57,RmDataInitStatusId:616476130680803384 17:28:18.336 [] [/] [rmFlowDataTaskCli-1] DEBUG com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl - excuteSql:UPDATE HD_RM_DATA_INIT_STATUS_PRE SET STATUS = ?,DATA_COUNT=?,LAST_MODIFY_TM = ?,ERROR_COUNT=(ERROR_COUNT+1),ERROR_INFO =? WHERE ID = ? 17:28:18.336 [] [/] [rmFlowDataTaskCli-1] DEBUG com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl - useJdbcTemplate: false 17:28:18.336 [] [/] [rmFlowDataTaskCli-1] DEBUG com.hd.rcugrc.product.oa.data.handle.service.impl.InstDataInitHandleServiceImpl - ②params: 5 17:28:18.338 [] [/] [rmEsRmDataTaskCli-1] DEBUG com.hd.rcugrc.product.oa.data.handle.service.impl.EsDataInitHandleServiceImpl - 更新Es数据初始化状态完成 length:1,dataStatus:DATA_DEAL_SUCCESS,docCat:2019,rmDataYearId:616476130198458368 分析异常
最新发布
11-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值