2016-03-25 8 views
0

をrawsql、と私はそれを修正するための最良の方法を把握するためにいくつかの助けを必要としています。私は、もちろん、にColumnMappingsを追加できますが、私は何か間違ったことをやっているので、それはありませんを確認します。SQL列の別名は、私は生のSQL文で奇妙な問題に直面しています

  • プレイFrameworkのAPP
  • Ebeans ORM
  • Postgresqlの9、私はにColumnMappingsを定義しない場合、私は別名を持っているが、PostgreSQLデータベースは、失敗に対して以下のRawSQLを実行する4

定義された:

String sql 
      = " Select date_trunc('day', end_time) as theDate, " 
      + " count(*) as value " 
      + " From ebay_item " 
      + " group by date_trunc('day', end_time) "; 

    RawSql rawSql = 
      RawSqlBuilder 
        .parse(sql) 
        .create(); 

エラー:

016-03-25 12:05:15303 ERROR mcaespSimpleDBPromiseService - 実行エラーという名前のクエリ javax.persistence.PersistenceException:不動産[dateTrunc( '日'] models.com.abiesolano.ebay.sqlpojos.RangedDateCounter

には見られません

私はH2データベースに切り替える場合:

String sql 
      = " SELECT trunc(end_time) as theDate, " 
      + " count(*) as value " 
      + " From ebay_item " 
      + " Group by trunc(end_time)"; 

    RawSql rawSql = 
      RawSqlBuilder 
        .parse(sql) 
        .create(); 

それは何の問題も機能しません。

任意の提案は本当にいただければ幸いです。

答えて

0

私は、MySQLが機能することにより、グループまたはオーダーするのが好き、あなたは「theDate」の代わりにエイリアスを使用する必要があるとは思いません。あなたはBeanオブジェクトにマッピングしている場合、別名はEbean(そうでない場合、あなたは不明なプロパティのエラーが発生します)によってマップされるようにBeanの@Transientプロパティでなければならないこと

は注意してください。

関連する問題