2012-02-27 12 views
4

純粋なJDBCから行マッパーを使用したSpringテンプレートに変換されたアプリケーションで動作します。私が持っている問題は、データベースの列がBeanPropertyRowMapperを簡単に使用できないようにするプロパティ名と一致しないことです。Spring - BeanPropertyRowMapperを列名を使用せずに使用する方法

私は、クエリでエイリアスを使用することに関するいくつかの記事を見ました。これはうまくいくが、それは不可能になるSELECT *

JPAのBeanPropertyRowMapper@Columnとして使用できるアノテーションはありませんか?

答えて

5

私はこれは実際的なアプローチであるクエリ

で別名を使用する方法についていくつかの記事を見てはのJavaDocで提案:

名に一致していない列とフィールドの間のマッピングを容易にするために"select fname as first_name from customer"のようなSQL文で列エイリアスを使用してみてください。

から:BeanPropertyRowMapper

SELECTを行うことは不可能

*

SELECT *を使用しないでください。これにより、列の追加や並べ替えなどの完全に下位互換性のあるデータベーススキーマの変更など、データベーススキーマの変更に対して脆弱になります。

JPAの@ColumnとしてBeanPropertyRowMapperで使用できるアノテーションはありませんか?

はい、それは多分と呼ばれています。真剣に、エイリアスを使用するか、独自のRowMapperを実装するか、Springはフル機能のではありません。

関連する問題