2017-07-14 16 views
0

私はすでにこれを解決しましたが、私の最終的な解決策は何かを探していましたが、おそらく1つ以上の方法がありましたが、私が思いついたことを分かち合い、多分それはある用途のものになるでしょう。Hibernate @Formula日付順変換の日付順

私の問題はHibernateでした。私はページングを持つクエリを実行しており、結果セットを特定の順序でソートする必要がありました。並べ替えはレコード作成日を使用することでしたが、それはミリ秒までのタイムスタンプです。そして、その月の日付を同等にすることを望んでいました。タイムスタンプは数時間または数ミリ秒でしたが、2000年6月5日等しく扱う。私は日付から年月を抽出する方法について多くの情報を見つけましたが、実際には変換はしません。これをどうしたらいいですか?

+0

JPAにはこのような@式はありませんので、あなたのコメントであなたのタイトル –

+0

を混乱させることをお勧めします。タイトルは「Hibernate @Formula ....」と表示されます。 import文は次のとおりです。import org.hibernate.annotations.Formula;あなたはJPAに言及しています。 –

+0

あなたは「JPA @ Formula」というタイトルを持っていました。私はあなたにそれを変更するよう依頼しました。何も起こらなかったので、私はそれを自分で変更しました。 –

答えて

0

これは基本的に計算されたフィールドなので、@Formulaアノテーションが来ます。私はSQLサーバで私が望むことをした変換機能を発見しました。数式にそれを取り入れるには少しのトリックがありました。私はこの思い付いた:文字通り「日付」としてSQLに行ってきました日付を終わる自身で日付を入れて

@Formula("convert(\"date\", Date_Time_Created) ") 

がちょうど単一引用符「日付」をやって、メンバ変数として扱われているが、あるとして二重引用符を追加しますエスケープされたSQLの "日付"の結果が働いた。