我使用行映射器处理已从纯JDBC转换为Spring模板的应用程序.我遇到的问题是数据库中的列与阻止我轻松使用BeanPropertyRowMapper的属性名称不匹配.
我看到一些关于在查询中使用别名的帖子.这可行,但它无法进行SELECT *
是否有任何可以与BeanPropertyRowMapper一起使用的注释作为JPA的@Column?
解决方法:
I saw Some posts about using aliases in queries
这实际上是JavaDocs中建议的方法:
To facilitate mapping between columns and fields that don’t have matching names, try using column aliases in the SQL statement like “select fname as first_name from customer”.
impossible to do a SELECT *
请不要使用SELECT *.这使您容易受到任何数据库架构更改的影响,包括完全向后兼容的更改,例如添加或重新排列列.
Isn’t there any annotation that can be used with BeanPropertyRowMapper as @Column from JPA?
是的,它被称为jpa,hibernate,也许是ibatis.说真的,无论是使用别名还是实现自己的RowMapper,Spring都不是功能齐全的orm.