Skip to content

NamingStrategy not used when retrieving from the database [DATAJDBC-181] #414

Closed
@spring-projects-issues

Description

@spring-projects-issues

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions