-
Notifications
You must be signed in to change notification settings - Fork 373
Closed
Labels
type: bugA general bugA general bug
Description
Jens Schauder opened DATAJDBC-144 and commented
When saving an entity for which the NamingStrategy creates columnNames different from the property names the following exception occurs:
Exception in thread "main" java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:792)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:773)
at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:760)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:328)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1245)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1233)
at example.springdata.jdbc.basics.AggregatesApplication.main(AggregatesApplication.java:76)
Caused by: org.springframework.data.jdbc.core.FunctionCollector$CombinedDataAccessException: Failed to perform data access with all available strategies
No value supplied for the SQL parameter 'intMaximumAge': No value registered for key 'intMaximumAge'; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter 'intMaximumAge': No value registered for key 'intMaximumAge'
at org.springframework.data.jdbc.core.FunctionCollector.lambda$finisher$3(FunctionCollector.java:84)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:503)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.collect(CascadingDataAccessStrategy.java:102)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.collectVoid(CascadingDataAccessStrategy.java:107)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.insert(CascadingDataAccessStrategy.java:43)
at org.springframework.data.jdbc.core.DefaultJdbcInterpreter.interpret(DefaultJdbcInterpreter.java:49)
at org.springframework.data.jdbc.core.conversion.DbAction$Insert.executeWith(DbAction.java:101)
at org.springframework.data.jdbc.core.conversion.AggregateChange.lambda$executeWith$0(AggregateChange.java:44)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.springframework.data.jdbc.core.conversion.AggregateChange.executeWith(AggregateChange.java:44)
at org.springframework.data.jdbc.core.JdbcEntityTemplate.save(JdbcEntityTemplate.java:77)
at org.springframework.data.jdbc.repository.SimpleJdbcRepository.save(SimpleJdbcRepository.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:377)
at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:200)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:610)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:573)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:554)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy20.save(Unknown Source)
at example.springdata.jdbc.basics.AggregatesApplication.run(AggregatesApplication.java:71)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789)
... 6 more
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter 'intMaximumAge': No value registered for key 'intMaximumAge'
at org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildValueArray(NamedParameterUtils.java:343)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:326)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:316)
at org.springframework.data.jdbc.core.DefaultDataAccessStrategy.insert(DefaultDataAccessStrategy.java:103)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.lambda$insert$0(CascadingDataAccessStrategy.java:43)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.lambda$collectVoid$12(CascadingDataAccessStrategy.java:108)
at org.springframework.data.jdbc.core.FunctionCollector.lambda$accumulator$1(FunctionCollector.java:59)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
... 42 more
Referenced from: pull request #19
Metadata
Metadata
Assignees
Labels
type: bugA general bugA general bug