0
状況は次のとおりです。 SQLサーバーの日付の形式は、Oracleとは異なります。 SQLサーバーでは、TimeStampとして格納されます。 Restriction.eq、Restriction.lt、Restriction.gtはDateオブジェクトでどのように機能しますか?時間だけではなく、日付を使う方法はありますか?日付の休止状態でのCriteria APIの制限の使用
状況は次のとおりです。 SQLサーバーの日付の形式は、Oracleとは異なります。 SQLサーバーでは、TimeStampとして格納されます。 Restriction.eq、Restriction.lt、Restriction.gtはDateオブジェクトでどのように機能しますか?時間だけではなく、日付を使う方法はありますか?日付の休止状態でのCriteria APIの制限の使用
this answerによれば、Restriction.ltProperty
と日付フィールドに関連する制限を使用することができ、Hibernateはそれらを解析するのに最善を尽くします。
このアプローチがうまくいかない場合は、Restrictions.sqlRestriction
を使用してネイティブSQLで制限を書くことができます。
等価チェックのために、私はどのようにRestriction.between( "dateFromDB"、myDateObjSt、myDateObjEnd)を使用しますか?ここで、myDateObjStは時刻が0:0:0.000の日付で、myDateObjEndは時刻が23:59:59.999の日付です。 – Prabhat
あなたの質問に言い換えていただけますか?あなたが何を求めているのか分かりません。 – Thomas
私はDateオブジェクトを持っており、私はDateオブジェクトと等しいかどうかをDBのDateカラムと比較したいと思います。しかし問題は時間も考慮されることです。したがって、日付のみを比較するために、Restriction.between( "dateFromDB"、myDateObjSt、myDateObjEnd)を使用することを考えています。 myDateObjStとmyDateObjEndは、両方のDateオブジェクトです(時刻を除く)。 myDateObjStは時間として0:0:0.000を持ち、myDateObjEndは時間として23:59:59.999を持ちます。 – Prabhat