Description
Nik Trevallyn-Jones opened DATAJDBC-181 and commented
Having successfully saved an object which requires a NamingStrategy, an attempt to retrieve that object raises an error saying the column <java-field-name> could not be found in the ResultSet.
The code should be looking for the result of calling NamingStrategy.getColumnName() instead.
Caused by: org.springframework.data.mapping.MappingException: Couldn't read column idemployee from ResultSet.
at org.springframework.data.jdbc.core.EntityRowMapper$ResultSetParameterValueProvider.getParameterValue(EntityRowMapper.java:175)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator$EntityInstantiatorAdapter.extractInvocationArguments(ClassGeneratingEntityInstantiator.java:248)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator$EntityInstantiatorAdapter.createInstance(ClassGeneratingEntityInstantiator.java:221)
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:86)
at org.springframework.data.jdbc.core.EntityRowMapper.createInstance(EntityRowMapper.java:97)
at org.springframework.data.jdbc.core.EntityRowMapper.mapRow(EntityRowMapper.java:73)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:667)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:657)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:682)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:736)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:231)
at org.springframework.data.jdbc.core.DefaultDataAccessStrategy.findById(DefaultDataAccessStrategy.java:170)
at org.springframework.data.jdbc.core.CascadingDataAccessStrategy.lambda$findById$7(CascadingDataAccessStrategy.java:78)
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:1380)
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)
... 51 more
Caused by: java.sql.SQLException: Column not found: idemployee
Affects: 1.0 M1 (Lovelace)
Referenced from: pull request #47